1. libiconv 関数ライブラリ http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz をダウンロードします。
2. tar -zxvf libiconv-1.9.2.tar を解凍します。 gz;
3. libiconv をインストールします
コードをコピーします:
#configure --prefix= /usr/ local/iconv#make
#make install
4. php を再コンパイルし、コンパイル パラメーター --with-iconv=/usr/local/iconv
コードをコピーします コードは次のとおりです:
#cp libiconv-1.8.tar.gz /usr/local/src#tar zxvf lib*
#./configure --prefix=/usr/local/libiconv
#make
#make install
php のコンパイル
#./configure --prefix= /usr/ local/php4.3.2 --with-iconv=/usr/local/libiconv/
簡単な使用例:
コードをコピー コードは次のとおりです。
< ?phpheader("content-Type : text/html ; charset=Utf-8");
echo mb_convert_encoding("あなたは私の友達です", "UTF-8", "GBK");
?>
別の GB2312 から Big5 へ
コードをコピー コードは次のとおりです。
< "content-Type : text/html; charset=big5");echo mb_convert_encoding("あなたは私の友達です", "big5", "GB2312");
ただし、上記の機能を使用するには、まず mbstring 拡張ライブラリをインストールして有効にする必要があります。
PHP の別の関数 iconv も文字列エンコーディングの変換に使用され、その機能は上記の関数と似ています。
以下に詳細な例をいくつか示します。
iconv — 文字列を要求された文字エンコーディングに変換します
(PHP 4 >= 4.0.5, PHP 5)
mb_convert_encoding — 文字エンコーディング (PHP 4 >= 4.0.6, PHP 5)
使用法:
string mb_convert_encoding ( string str, string to_encoding [,mixed from_encoding] )
mbstring 拡張ライブラリを有効にする必要がありますまず、php.ini で、extension=php_mbstring.dll の前の ; を削除します。
mb_convert_encoding は、内容に応じて自動的に識別されますが、実行効率は iconv
string iconv (string in_charset, string out_charset, string str)
注: 変換先のエンコーディングを指定することに加えて、2 番目のパラメーターで 2 つのサフィックス //TRANSLIT と / を追加することもできます。 /IGNORE。 //TRANSLIT は、直接変換できない文字を 1 つ以上の近似文字に自動的に変換します。 //IGNORE は、変換できない文字を無視し、デフォルトの効果は最初の不正な文字から切り捨てます。
変換された文字列、または失敗した場合は FALSE を返します。
使用:
がある場合、iconv は文字「-」を gb2312 に変換するときにエラーが発生することがわかります。は無視パラメータではありません。このすべての文字に続く文字列は保存できません。この「—」はどうやってもうまく変換できず出力できません。 なお、mb_convert_encoding にはこのバグはありません。
一般に、iconv 関数は元のエンコーディングが特定できない場合、または iconv 変換が正常に表示できない場合にのみ使用されます。 🎜> from_encoding は、変換前の文字コード名で指定します。配列または文字列 (カンマ区切りの列挙リスト) を指定できます。指定されていない場合は、
/* JIS、eucjp- からの自動検出エンコーディングが使用されます。 win、sjis-win、次に str を UCS-2LE に変換します */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win"); 「auto 」は「ASCII,JIS,UTF-8,EUC-JP,SJIS」に展開されます */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
例:
コードをコピー
コードは次のとおりです:
$content = iconv("GBK", "UTF- 8", $content ); $content = mb_convert_encoding($content, "UTF-8", "GBK");