ホームページ  >  記事  >  バックエンド開発  >  PHP の iconv 関数がエラーを報告した場合はどうすればよいですか?

PHP の iconv 関数がエラーを報告した場合はどうすればよいですか?

WBOY
WBOYオリジナル
2022-04-13 10:26:002588ブラウズ

方法: 1. 関数の 2 番目のパラメーターの後に「//IGNORE」を追加します。構文は「iconv("UTF-8","GB2312//IGNORE",..)」です。 gb2312 を「utf-8」に置き換えます。構文は「iconv("GB2312","UTF-8",..)」です。

PHP の iconv 関数がエラーを報告した場合はどうすればよいですか?

この記事の動作環境: Windows 10 システム、PHP バージョン 7.1、Dell G3 コンピューター

iconv 関数がレポートした場合の対処方法php

iconv() のエラー 概要

iconv 関数は、既知の文字セット ファイルを別の既知の文字セット ファイルに変換できます。例: GB2312 から UTF-8 に変換します。

iconv 関数は php5 に組み込まれており、GB 文字セットはデフォルトでオンになっています。

iconv() error

Iconv は、文字「-」を gb2312 に変換するときにエラーを起こします。解決策は、エンコーディングの後に「" を追加することです」 //IGNORE"、つまり、iconv 関数の 2 番目のパラメーターの後。次のように:

      iconv("UTF-8", "GB2312//IGNORE", $data)

ignore は、変換中にエラーを無視することを意味します。ignore パラメータを指定しないと、この文字に続くすべての文字列は保存できません。

PHP の iconv 関数ライブラリは、さまざまな文字セット間の変換を完了でき、PHP プログラミングに不可欠な基本関数ライブラリですが、場合によっては、理由もなく iconv が一部のデータをトランスコードできなくなることがあります。たとえば、文字「—または繁体字中国語」を gb2312 に変換するとエラーが発生します。

この関数の使用法を見てみましょう。

最も単純なアプリケーションは、gb2312 を utf-8 に置き換えることです:

`$text``=iconv(``"GB2312"``,``"UTF-8"``,``$text``);`

$text=iconv("UTF-8","GB2312",$text) を使用するプロセスで、 「— または繁体字中国語」、英語名の「.」などの特殊文字が出現すると、変換は中断されます。これらの文字の後のテキストはそれ以上変換できません。

この問題を解決するには、次のコードを使用します。

`$text``=iconv(``"UTF-8"``,``"GBK"``,``$text``);`

お読みのとおり、とても簡単です。gb2312 を使用する代わりに GBK を記述するだけです。

別のメソッドがあり、2 番目のパラメータに //IGNORE を追加して、次のようにエラーを無視します。

`iconv(``"UTF-8"``,``"GB2312//IGNORE"``,``$data``);`

これら 2 つのメソッドには具体的な比較はありません。最初のメソッドの方が良いと思います。 ( gb2312 の代わりに GBK ) 方法の方が優れています。

例は次のとおりです:

  <?php
    echo $str= ‘你好,这里是卖咖啡!’;
    echo &#39;<br />&#39;;
    echo iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $str); //将字符串的编码从GB2312转到UTF-8
    echo &#39;<br />&#39;;
    echo iconv_substr($str, 1, 1, &#39;UTF-8&#39;); //按字符个数截取而非字节
    print_r(iconv_get_encoding()); //得到当前页面编码信息
    echo iconv_strlen($str, &#39;UTF-8&#39;); //得到设定编码的字符串长度
  ?>

推奨される学習: 「PHP ビデオ チュートリアル

以上がPHP の iconv 関数がエラーを報告した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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