ホームページ  >  記事  >  バックエンド開発  >  PHPで文字列エンコードを変更する方法

PHPで文字列エンコードを変更する方法

藏色散人
藏色散人オリジナル
2021-07-22 10:03:263198ブラウズ

php で文字列エンコーディングを変更する方法: 1. 一般的な iconv 関数を使用して文字列エンコーディングを変更します; 2. mb_convert_encoding を通じて文字列エンコーディングを変更します。

PHPで文字列エンコードを変更する方法

この記事の動作環境:Windows7システム、PHP7.1バージョン、DELL G3パソコン

文字列の変更方法phpでエンコード?

php 文字列エンコード変換

php は 2 つの単語変換エンコード関数を提供します。1 つは一般的な iconv 関数で、もう 1 つはマルチバイト エンコードを処理するものです。変換関数 mb_convert_encoding、拡張機能 php_mbstring を有効にする必要があります

string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )

説明: 文字エンコーディングを変換します (PHP 4 >= 4.0.6、PHP 5)

mbstring 拡張ライブラリを有効にする必要がありますまず、php.ini で、extension=php_mbstring.dll の前にある ; を削除します。

string iconv ( string in_charset, string out_charset, string str )

説明: 文字列を要求された文字エンコーディングに変換します (PHP 4 >= 4.0.5、PHP 5)

注意:

2 番目のパラメーターでは、変換先のエンコーディングを指定するだけでなく、//TRANSLIT と //IGNORE の 2 つの接尾辞を追加することもできます。

そのうちの

TRANSLIT は、直接変換できない文字を 1 つ以上の近似文字に自動的に変換します。

IGNORE は変換できない文字を無視し、デフォルトの効果は最初の不正な文字から切り捨てられます。

使用法:

1. iconv が文字「-」を gb2312 に変換するときにエラーが発生することがわかりました。ignore パラメーターがないと、この文字に続くすべての文字列を保存できません。この「-」はどうやってもうまく変換できず出力できません。また、mb_convert_encoding にはこのバグはありません。

2. mb_convert_encoding は複数の入力エンコーディングを指定できます。内容に基づいて自動的に識別されますが、実行効率は iconv よりもはるかに悪くなります。$str など= mb_convert_encoding($str,"euc -jp","ASCII,JIS,EUC-JP,SJIS,UTF-8");「ASCII,JIS,EUC-JP,SJIS, UTF-8"

3. 通常の状況では、iconv が使用されます。mb_convert_encoding 関数は、元のエンコードが特定できない場合、または iconv 変換が正常に表示できない場合にのみ使用されます。

$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win"); 
$str = mb_convert_encoding($str, "EUC-JP', "auto");

例:

$content = iconv("GBK", "UTF-8", $content); 
$content = mb_convert_encoding($content, "UTF-8", "GBK");

推奨学習:「PHP ビデオ チュートリアル

以上がPHPで文字列エンコードを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。