UNIX で PHP モジュールをインストールするには、PHP を再コンパイルする必要があります。Windows でテンプレートをインストールするには、たとえば、php.ini のサポートを追加する必要がある場合に、対応する DLL を開くだけです。 gb ライブラリでは、次の設定が必要です:
extension_dir = "C:/ipaddr/php/extensions/"
(注意: 完全なアドレスを記述し、その後ろに / を追加することをお勧めします。多くの場合、ここでの設定が間違っているため、他のモジュールの DLL が読み込めなくなります)
また開きます
拡張子=php_gd2.dll
ただし、iconv.dll がインストールされている場合、上記の方法に従って php_iconv.dll を開いた後でも、iconv モジュールを開くことはできません。次の設定が必要です。
a.iconvの公式ダウンロードサイトに移動します
http://ftp.gnu.org/pub/gnu/libiconv/
以下の Windows バージョンの iconv ファイル: libiconv-1.9.1.bin.woe32.zip
このファイルを解凍し、bin/ の下にある charset.dll、iconv.dll、iconv.exe を c:/windows/ (または他のシステム PATH) にコピーします
(ipaddr は、この手順が必要であることを通知します。php_iconv.dll は GNU iconv ライブラリも呼び出すため、最初に GNU iconv ライブラリをインストールする必要があります)
b. php.ini の php_iconv.dll を開きます
c. Apache を再起動し、phpinfo(); で iconv が有効になっているかどうかを確認します。
最近、キャプチャされた utf-8 でエンコードされたページを gb2312 に変換するために iconv 関数を使用する必要があるプログラムに取り組んでいたのですが、キャプチャされたデータをトランスコードするために iconv 関数を使用するだけでは、理由もなくデータが減少することがわかりました。 しばらく落ち込んだ後、インターネット上の情報を調べたところ、これは iconv 関数のバグであることがわかりました。 iconv は文字「—」を gb2312 に変換するときにエラーになります
解決策は非常に簡単です。次のように、変換する必要があるエンコーディングの後に「//IGNORE」を追加します。これは、iconv 関数の 2 番目のパラメーターです。
以下、引用内容です
iconv("UTF-8","GB2312//IGNORE",$data)
Ignore は、変換中にエラーを無視することを意味します。ignore パラメータを指定しないと、この文字に続くすべての文字列を保存できません。
この iconv() 関数は php5 に組み込まれています。ありがとうございます。
リエジ
echo $str= 'こんにちは、ここではコーヒーを販売しています!';
エコー '
';
echo iconv('GB2312', 'UTF-8', $str); //文字列エンコーディングを GB2312 から UTF-8 に変換します
エコー '
';
echo iconv_substr($str, 1, 1, 'UTF-8'); //バイト数ではなく文字数で切り捨てる
print_r(iconv_get_encoding()); // 現在のページのエンコーディング情報を取得します
echo iconv_strlen($str, 'UTF-8') //設定されたエンコーディングの文字列長を取得します
//これも使われています
$content = iconv("UTF-8","gbk//TRANSLIT",$content);
?>