ホームページ  >  記事  >  バックエンド開発  >  PHPトランスコーディング機能 まだiconvを使っていますか? _PHP チュートリアル

PHPトランスコーディング機能 まだiconvを使っていますか? _PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:58:21841ブラウズ

PHPを使用して文字列を処理する場合、文字エンコーディングの変換の問題によく遭遇します。iconv変換の失敗に遭遇したことがありますか?

問題を見つけたとき、オンラインで検索したところ、iconv にはいくつかのまれな単語を変換できないバグがあることがわかりました。変換できないので切り捨てられないことを確認します。 使い方は以下の通りです

iconv(“UTF-8″,”GB2312//IGNORE”,$data) ;

まれに単語の変換に失敗した場合、その失敗を無視して次のコンテンツの変換を続行します。ただし、変換の成功率を確保するために、別の変換関数を使用できます。 mb_convert_encoding)、チェック インターネット上の情報によると、この関数はあまり効率的ではありません。また、この関数は 3 番目のパラメータを省略してコンテンツのエンコーディングを自動的に識別することもできます。これは効率に影響を与えるため、使用しない方がよいでしょう。 mb_convert_encoding と iconv パラメータの順序が異なることにも注意する必要があります。

2 つの関数の簡単な使用法を添付します:

アイコン

文字列iconv (文字列$in_charset、文字列$out_charset、文字列$str)

最初のパラメータ: コンテンツの元のエンコーディング

2番目のパラメータ: ターゲットエンコーディング

3番目のパラメータ: 変換される文字列

関数は文字列を返します

$instr = 'テスト';

// GBK から UTF-8 へ

$outstr = iconv('GBK','UTF-8',$instr);

?>

mb_convert_encoding

string mb_convert_encoding ( string $str , string $to_encoding [,mixed $from_encoding ] ) 最初のパラメータ: 処理される文字列 2 番目のパラメータ: ターゲットのエンコーディング 3 番目のパラメータ: コンテンツの元のエンコーディング リーリー リーリー

個人的には、トランスコーディングの問題が発生した場合の安全性を高めるために、mb_convert_encoding を使用することをお勧めします。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/363875.html技術記事 PHP を使用して文字列を処理する場合、iconv 変換の失敗に遭遇したことはありますか? 問題を発見したとき、オンラインで検索したところ、iconv にはもともと...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。