PHP エンコード変換の実装方法: 1. iconv 関数を使用して、「iconv('GBK','UTF-8',$instr);」などの構文でターゲット エンコーディングを変換します。 mb_convert_encoding 関数を使用してエンコーディングを変換します。
推奨: 「PHP ビデオ チュートリアル 」
PHP を使用して文字列を処理する場合、よく次の問題に遭遇します。文字エンコーディングの変換で、iconv の変換に失敗したことがありますか?
問題を発見したとき、オンラインで検索したところ、iconv にバグがあることがわかりました。まれな単語を変換できませんでした。もちろん、2 番目のパラメータを設定するときに、デフォルトを補うこともできます。問題が起きないように多少の欠陥はある 変換できない場合は切り捨てる 使い方は以下の通り
iconv(“UTF-8″,”GB2312//IGNORE”,$data) ;
このようにして、稀な単語の変換に失敗しても失敗を無視するようになりますこれは問題を解決する方法ですが、変換の成功率を確保するために、別の変換関数 (mb_convert_encoding) を使用できます。オンライン情報によると、この関数はあまり効率的ではありません。また、この関数は 3 番目のパラメータを省略して、コンテンツのエンコーディングを自動的に識別することもできますが、効率に影響するため、使用しないことをお勧めします。また、mb_convert_encoding パラメータと iconv パラメータの順序が異なることに注意してください。必ず注意してください。
2 つの関数の簡単な使用法を添付します:
iconv
string iconv ( string $in_charset , string $out_charset , string $str )
最初のパラメータ: コンテンツの元のエンコーディング
2 つのパラメーター: ターゲットのエンコーディング
3 番目のパラメーター: 変換される文字列
関数は文字列を返します
<?php $instr = ‘测试’; // GBK转UTF-8 $outstr = iconv(‘GBK’,'UTF-8′,$instr); ?>
mb_convert_encoding
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )
最初のパラメータ: 処理する文字列
2 番目のパラメータ: ターゲットのエンコーディング
3 番目のパラメータ: コンテンツの元のエンコーディング
<?php $instr = '测试'; // GBK转UTF-8 $outstr = mb_convert_encoding($instr,'UTF-8','GBK',); ?>
個人的な提案トランスコーディングの問題に関しては、mb_convert_encoding を使用する方が安全です。
以上がPHPをエンコーディングに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。