php で文字列エンコーディングを変更する方法: 1. 一般的な iconv 関数を使用して文字列エンコーディングを変更します; 2. mb_convert_encoding を通じて文字列エンコーディングを変更します。
この記事の動作環境: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 サイトの他の関連記事を参照してください。