linuxシステム上でphpのiconv()関数をサポートする方法
1、libiconv関数ライブラリをダウンロードするhttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz;2、解凍tar-zxvf libiconv-1.3、libiconv
#configure --prefix=/usr/local/iconv
#make
#make install
をインストールして、phpを再コンパイルしてコンパイルパラメータを増加します。with-inconv=/usr/local/iconv windowsの下で最近泥棒プログラムを作っています。iconv関数を使ってキャプチャーしたutf-8符号化のページをgb 2312に変えて、iconv関数でキャプチャーしたデータを転送するだけで理由なくデータが少なくなります。憂鬱になりました。しばらくネットで資料を調べてみたら、これはiconv関数のバグです。iconvは文字「-」をgb 2312に変換する際にエラーが発生する解決方法は簡単であり、変換が必要なコードに「/IGNORE」、すなわちiconv関数の2番目のパラメータを加えた後、以下のように参照の内容はiconv(「UTF-8」、「GB 2312/IGNORE」、data)IGNOREである。すべての文字の後ろの文字列は保存できません。iconvはphpのデフォルト関数ではなく、デフォルトでインストールされているモジュールです。インストールが必要です。windows 2000+phpなら、php.iniファイルを修正して、extension=php_iconv.dll前の";copyを削除してください。同時にあなたの元のphpインストールファイルの下のiconv.dllをあなたのwint/system 32の下に(もしあなたのdllがこのカタログを指すなら)linux環境の下で、静的にインストールする方式で、configureの時にもう一つの項目を追加すればいいです。phpinfoはiconvの項目が見えます。Linux 7.3+Apple 4.06+php 4.3.2)をダウンロードします。ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz インストール:
#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/
使用の簡単な例:<?php echo iconv(「gb 2312」、「ISO-859-1」、「私たち」)PHPのmb_convert_.encodingとiconv関数紹介mb_convert_.encodingという関数は符号化を変換するために用いられる。もともとプログラムコードという概念はよく分かりませんでしたが、今はちょっと分かりやすいです。しかし、英語では一般的にコーディングの問題はありません。中国語のデータだけがこの問題があります。例えば、Zend StudioやEditplusでプログラムを書く時、gbkコードを使っていますが、データがデータベースに入る必要がある場合、データベースのコードがutf 8の場合、データをコード変換します。でないと、データベースに入ると文字化けになります。mbconvert_.encodingの使い方は公式に見られます。http://cn.php.net/manual/zh/function.mb-convert-encoding.php GBK To UTF-8
< ?php
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("S ", "UTF-8", "GBK");
?>
を作ってGB 2312 To Big 5
< ?php
header("content-Type: text/html; charset=big5");
echo mb_convert_encoding(" ", "big5", "GB2312");
?>
を追加しますが、上の関数を使うにはインストールが必要ですが、先にenable mbstring拡張ライブラリが必要です。PHPのもう一つの関数iconvも文字列コードを変換するために使用されています。上関数機能と似ています。以下にいくつかの詳細な例があります。iconv-Covert string to requested character encoding(PHP 4>=4.0.5、PHP 5)mb_convert_.encoding-Covert character encoding(PHP 4)=4.0.6、PHP 5)用法:string mb_convert_.encoding(string str,string to_)encoding[mixed from]encoding)はまずenable mbstring拡張ライブラリが必要で、php.iniの中で将をします。extension=php_mbstring.dllの前の。mbを取り除くconvert_.encodingは複数の入力コードを指定できます。内容によって自動的に識別されますが、実行効率はiconvよりも差があります。string iconv(string in u)charset、string out_charset、string str)の注意:2番目のパラメータは、変換する符号を指定する以外に、2つのサフィックスを追加することができます。/TRANSLITと/IGNOREでは、/TRANSLITは、直接変換できない文字を1つ以上の類似文字に自動的に変化させ、/IGNOREは変換できない文字を無視し、デフォルトの効果は最初の不正文字から遮断されます。Returns the converted string or FALSE on failure.使用:iconvが文字を変換していることが分かりました。いずれにしても、これは」と変換できず、出力できませんでした。またmb_convert_.encodingはこのbugがありません。普通はiconvを使っています。元のコードが何なのか確認できないときや、iconvが変換されて正常に表示されないときだけmb(u)を使います。convert_.encoding関数.from_encoding is specified by character code name before conversion.it can be array or string-coma separated enumerated list.If it is not specified,the internal encoding will be used./Auto detect encoding from,jconverjie。convert_.encoding($str、「UCS-2 LE」、「JIS、eucjp-win、sjis-win」);aut"is expaded to"ASCII、JIS、UTF-8、EUC-JP、SJIS"*/str=mb_convert_.encoding($str、「EUC-JP」、「aut」);例:
$content = iconv(”GBK”, "UTF-8", $content);
$content = mb_convert_encoding($content, "UTF-8", "GBK”);