PHP は iconv を使用して string を GBK から UTF8 文字セット に変換します。必要な友人はそれを参照できます。
1. iconv() の概要 iconv 関数は、既知の文字セット ファイルを別の既知の文字セット ファイルに変換できます。例: GB2312 から UTF-8 に変換します。
iconv 関数は php5 に組み込まれており、デフォルトで GB 文字セットがオンになっています。
2. iconv() エラー
iconv は文字「-」を gb2312 に変換するときにエラーを起こします。解決策は、変換する必要があるエンコーディングの後ろ、つまり の 2 番目のパラメーターの後に「//IGNORE」を追加することです。 iconv 関数は次のとおりです:
iconv("UTF-8", "GB2312//IGNORE", $data)ignore は、ignore パラメーターがないと、この文字に続くすべての文字列を保存できません。
3. iconv() の例
例 1:
<?php echo $str= ‘你好,这里是卖咖啡!'; echo '<br />'; echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8 echo '<br />'; echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节 print_r(iconv_get_encoding()); //得到当前页面编码信息 echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度 ?>例 2:
PHP ファイルが UTF-8 でエンコードされている場合、次のコードは正しく出力できます。コードは次のとおりです:
<?php $str='我爱百度'; $utf=''; for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); echo $utf; ?>
<?php $str='我爱百度'; $str=iconv("GBK", "UTF-8", $str); $utf=''; for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); echo $utf; ?>
以上がiconv を介して文字列を GBK から UTF8 文字セットに変換する php メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。