iconv — 文字列を要求された文字エンコーディングに変換します (PHP 4 >= 4.0.5, PHP 5)
mb_convert_encoding — 文字エンコーディングを変換します (PHP 4 >= 4.0.6, PHP 5)
Usage:
string mb_convert_encoding ( string str 、string to_encoding [、mixed from_encoding] )
まず mbstring 拡張ライブラリを有効にし、php.ini の extension=php_mbstring.dll の前にある ; を削除する必要があります
string iconv ( string in_charset, string out_charset, string str )
注:
2 番目のパラメーターは、変換先のエンコーディングを指定することに加えて、//TRANSLIT と //IGNORE の 2 つの接尾辞を追加することもできます。
そのうち:
//TRANSLIT は、直接変換できない文字を自動的に変換します。または複数の類似した文字に変換された場合、
//IGNORE は変換できない文字を無視し、デフォルトの効果は最初の不正な文字から切り捨てられます。
変換された文字列、または失敗した場合は FALSE を返します。
使用:
1. iconv は文字「-」を gb2312 に変換するときにエラーが発生することがわかりました。ignore パラメーターがないと、この文字に続くすべての文字列を保存できません。この
「-」はどうやってもうまく変換できず出力できません。さらに、mb_convert_encoding にはこのバグはありません
2。mb_convert_encoding は内容に基づいて自動的に識別されますが、実行効率は次のようなものになります。 $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が正常に表示されない場合にのみ使用してください。
from_encodingは変換前の文字コード名で指定できます。配列または文字列 - カンマ区切りの
列挙リスト。指定されていない場合、内部エンコーディングが使用されます
$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");