ホームページ  >  記事  >  バックエンド開発  >  PHPのiconv関数の使い方を詳しく解説

PHPのiconv関数の使い方を詳しく解説

WBOY
WBOYオリジナル
2016-07-25 08:58:581206ブラウズ
  1. extension_dir = "C:/ipaddr/php/extensions/"
コードをコピー

(注、完全なアドレスを記述し、その後に / を追加することをお勧めします。多くの場合、これはここの設定が間違っているため、他のモジュールの DLL をロードできません)。 もう一度開きます。

  1. extension=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) にコピーします。 (この手順は必要です。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 番目のパラメーターです。

  1. iconv("UTF-8","GB2312//IGNORE",$data)
コードをコピー

ignore は、ignore パラメータがない場合、すべてのエラーを無視することを意味します。文字以降の文字列は保存できません。

このiconv()関数はphp5に組み込まれています。 次のような完全な例を見てみましょう。

  1. //iconv使用例

  2. //by bbs.it-home.org
  3. echo $str= 'こんにちは、ここではコーヒーを販売しています!';
  4. echo '
    ';

  5. echo iconv('GB2312', 'UTF-8', $str); //文字列エンコーディングを GB2312 から UTF-8 に変換します

  6. echo '
    ';

  7. echo iconv_substr($str, 1, 1, 'UTF-8') //バイト数ではなく文字数で切り捨てる

  8. print_r(iconv_get_encoding) ()); //現在のページのエンコーディング情報を取得します

  9. echo iconv_strlen($str, 'UTF-8'); //設定されたエンコーディングの文字列長を取得します

  10. < ;p>//こんなこともできます
  11. $content = iconv("UTF-8","gbk//TRANSLIT",$content);
  12. ?>

コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。