では、Webページの文字化けの問題を解決するために、必要に応じてエンコード変換(GB2312エンコード環境でAjaxを使用することによって引き起こされる漢字文字化けの問題の解決など)を簡単に行うことができ、非常に便利です。非常に効率的に使用でき、ほぼすべてのエンコーディングをサポートします。 PHP 4 >= 4.0.6、PHP 5 バージョンがサポートされています。
PHPエンコード変換関数プロトタイプ:
- /**
* マルチバイト文字列エンコード変換関数 -
* -
* @param string str は次のようにする必要がありますエンコーディングが変換された文字列 -
* @param string to_encoding は、gb2312、gbk、utf-8 などの特定のエンコーディング - への変換を指定します。
* @parammixed from_encodingmixed は、元の文字列 - 、 例: JIS、eucjp-win、sjis-win 混合エンコーディングを同時に指定
* @return string -
string mb_convert_encoding (string - str, string to_encoding [,mixed from_encoding] )
PHP エンコード変換 関数の使用例:
1. GBK エンコード文字列を UTF-8 エンコード文字列に変換します
1 2 3 | <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 エンコード文字列に変換します
1 2 3 4 5 6 | <ol class = "dp-xml" >
<li class = "alt" ><span><span>
<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 ファイルの先頭に追加します。
1 2 3 4 5 | <ol class = "dp-xml" >
<li class = "alt" ><span><span>mb_internal_encoding( "gb2312" ); </span></span></li>
<li><span>
<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
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445953.html技術記事ウェブページの文字化け問題を解決するために、必要に応じてエンコード変換を行うと便利です(GB2312エンコード環境でAjaxを使用することによる中国語の文字化けの問題の解決など)。