ホームページ >バックエンド開発 >PHPチュートリアル >PHPエンコード変換関数の応用スキルを語る_PHPチュートリアル
では、Webページの文字化けの問題を解決するために、必要に応じてエンコード変換(GB2312エンコード環境でAjaxを使用することによって引き起こされる漢字文字化けの問題の解決など)を簡単に行うことができ、非常に便利です。非常に効率的に使用でき、ほぼすべてのエンコーディングをサポートします。 PHP 4 >= 4.0.6、PHP 5 バージョンがサポートされています。
PHPエンコード変換関数プロトタイプ:
1. GBK エンコード文字列を UTF-8 エンコード文字列に変換します
<ol class="dp-xml"><li class="alt"> <span class="tag"><</span> ?PHP </li><li><span>header("content-Type: text/html; <br /></span><span class="attribute">charset</span><span>=</span><span class="attribute-value">Utf</span><span>-8"); </span></li><li class="alt"><span>echo mb_convert_encoding("<br />你是我的好朋友", "UTF-8", "GBK"); </span></li><li><span class="tag">?></span><span> </span> </li></ol>
2. UTF-8 エンコード文字列を GB2312 エンコード文字列に変換します
<ol class="dp-xml"> <li class="alt"><span><span>// 注意将此文件存盘成 utf-8 <br>编码格式文件再测试 </span></span></li> <li> <span class="tag"><</span><span> ?</span>PHP<span> </span></li><li class="alt"><span>header("content-Type: text/html; <br /></span><span class="attribute">charset</span><span>=</span><span class="attribute-value">gb2312</span><span>"); </span></li><li><span>echo mb_convert_encoding("<br />你是我的好朋友", "gb312", "utf-8"); </span></li><li class="alt"><span class="tag">?></span><span> </span> </li> </ol>
3.ページ全体
この方法は、すべてのコーディング環境に適しています。このように、最初の 128 文字(表示文字)以外の文字セットは NCR で表現されます(「漢字」などの数字参照は「汉字」の形式に変換されます)。このエンコーディングは、どのコーディング環境でもページを正常に表示できます。
次の 3 行のコードを PHP ファイルの先頭に追加します。
<ol class="dp-xml"> <li class="alt"><span><span>mb_internal_encoding("gb2312"); </span></span></li> <li><span>// 这里的gb2312是你网站原来的编码 </span></li> <li class="alt"><span>mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler'); </span></li> </ol>
mb_convert_encoding 関数を使用するには、PHP の mbstring (マルチバイト文字列) 拡張機能を有効にする必要があります。
PHP の mbstring 拡張機能が有効になっていない場合は、PHP が拡張機能をサポートするように次の設定を行う必要があります。
1. Windowsサーバー環境PHP.iniファイルを編集し、extension=PHP_mbstring.dllの前の;を削除し、Webサーバーを再起動します。
2. Linux サーバー環境設定をコンパイルするときに --enable-mbstring=cn コンパイル パラメーターを追加し、PHP をコンパイルしてインストールします。
まとめ:PHPのエンコード変換機能を使用する際に分からないことがあれば、「PHPマニュアル」を参照してください。
http://www.bkjia.com/PHPjc/445953.html