ホームページ  >  記事  >  バックエンド開発  >  変換パターン php 変換文字列エンコーディング iconv と mb_convert_encoding の違いの説明

変換パターン php 変換文字列エンコーディング iconv と mb_convert_encoding の違いの説明

WBOY
WBOYオリジナル
2016-07-29 08:47:12870ブラウズ

iconv — 文字列を要求された文字エンコーディングに変換します (PHP 4 >= 4.0.5, PHP 5)
mb_convert_encoding — 文字エンコーディングを変換します (PHP 4 >= 4.0.6, PHP 5)
使用法:
string mb_convert_encoding ( string str, string to_encoding [,mixed from_encoding])
まず mbstring 拡張ライブラリを有効にし、php.ini の extension=php_mbstring.dll の前にある ; を削除する必要があります
string iconv (string in_charset, string out_charset, string str)注:
いいえ。変換先のエンコーディングを指定するだけでなく、2 つのパラメーター (//TRANSLIT と //IGNORE) を追加することもできます。
その内:
//TRANSLIT は、直接変換できない文字を自動的に変更します。 1 つ以上の近似文字に変換されると、
//IGNORE は変換できない文字を無視し、デフォルトの効果は最初の不正な文字から切り捨てられます。
変換された文字列、または失敗した場合は FALSE を返します。
使用:
1. iconv は文字「-」を gb2312 に変換するときにエラーが発生することがわかります。ignore パラメーターがないと、この文字に続くすべての文字列を保存できません。この
"-"はどうやっても正常に変換できず出力できません。さらに、mb_convert_encoding にはこのバグはありません
2。mb_convert_encoding は内容に基づいて自動的に識別されますが、実行効率は次のように劣ります。 str,"euc-jp", "ASCII,JIS,EUC-JP,SJIS,UTF-8"); 「ASCII,JIS,EUC-JP,SJIS,UTF-8」は順番によって効果が異なります
3通常、iconv を使用するのは、元のエンコードが不明な場合、または変換後に iconv が正常に表示されない場合にのみ
from_encoding を指定して変換することができます。配列または文字列 - カンマ区切りの
列挙型リスト。指定されていない場合は、
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win") が使用されます。 ;
$str = mb_convert_encoding($str, " EUC-JP', "auto");
例:
$content = iconv("GBK", "UTF-8", $content);
$content = mb_convert_encoding( $content, "UTF-8", "GBK ");
上記では、conversionpattern php 変換文字列エンコーディング iconv と mb_convert_encoding の違いを、conversionpattern の内容も含めて紹介していますので、PHP チュートリアルに興味のある友人の参考になれば幸いです。


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