ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルの mb_convert_encoding 関数と iconv 関数の詳細な分析

PHP_PHP チュートリアルの mb_convert_encoding 関数と iconv 関数の詳細な分析

WBOY
WBOYオリジナル
2016-07-21 15:04:25916ブラウズ

mb_convert_encoding この関数はエンコーディングを変換するために使用されます。以前はプログラムコーディングの概念が理解できませんでしたが、今では少し理解できるようになりました。

ただし、一般的に英語にはエンコードの問題はなく、中国語のデータのみにこの問題が発生します。たとえば、Zend Studio または Editplus を使用してプログラムを作成する場合、データをデータベースに入力する必要があり、データベース エンコードが utf8 である場合は、データをエンコードして変換する必要があります。そうでない場合は、データをエンコードして変換する必要があります。データベースに入るときに文字化けします。
mb_convert_encoding の公式の使用法を参照してください:
http://php.net/manual/zh/function.mb-convert-encoding.php
GBK を UTF-8 に作成します

コードをコピーしますコードは次のとおりです:

< ?php
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("あなたは私の友達です", "UTF-8", " GBK") ;
?>

Big5 への別の GB2312
コードをコピーします コードは次のとおりです:

< ?php
header("content-Type: text/html; charset =big5");
echo mb_convert_encoding("You are my friends", "big5", "GB2312");
?>

ただし、上記の機能を使用するには、インストールする必要がありますが、最初に mbstring 拡張ライブラリを使用します。
PHP の別の関数 iconv も文字列エンコーディングの変換に使用され、その関数は上記の関数と似ています。
以下に詳細な例をいくつか示します:
コードをコピー コードは次のとおりです:

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 の前にある拡張子ライブラリを削除します。
mb_convert_encoding は、内容に応じて自動的に識別されますが、実行効率は
よりも悪くなります。 string iconv (string in_charset, string out_charset , string str )
注: 変換先のエンコーディングを指定することに加えて、2 番目のパラメーターで 2 つのサフィックス //TRANSLIT と //IGNORE を追加することもできます。ここで、/ /TRANSLIT は、直接変換される文字は 1 つ以上の近似文字になります。 //IGNORE は、変換できない文字を無視し、デフォルトの効果として、最初の不正な文字から切り捨てられます。
変換された文字列を返すか、失敗した場合は FALSE を返します。
使用:
文字「-」を gb2312 に変換するときに、iconv がエラーを起こすことがわかりました。ignore パラメーターがないと、この文字に続くすべての文字列を保存できません。この「-」はどうやってもうまく変換できず出力できません。 なお、mb_convert_encoding にはこのバグはありません

通常、iconv は、元のエンコーディングが特定できない場合、または変換後に iconv が正常に表示されない場合にのみ使用されます。

コードは次のとおりです。変換前の文字コード名で指定します。配列または文字列 - カンマ区切りの列挙リストです。指定しない場合は、内部エンコーディングが使用されます。/* JIS、eucjp-win、sjis-win からエンコーディングを自動検出します。 , 次に、str を UCS-2LE に変換します */$str = mb_convert_encoding($str, “UCS-2LE”, “JIS, eucjp-win, sjis-win”);
/* 「auto」は「ASCII,」に展開されますJIS, UTF-8,EUC-JP,SJIS” */
$str = mb_convert_encoding($str, “EUC-JP”, “auto”);


例:


コードをコピー

コードは次のとおりです:
$content = iconv(”GBK”, “UTF-8″, $content);$content = mb_convert_encoding($content, “UTF-8″, “GBK”);



http://www.bkjia.com/PHPjc/327760.htmlwww.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/327760.html技術記事 mb_convert_encoding 関数は、エンコーディングを変換するために使用されます。以前はプログラムコーディングの概念が理解できませんでしたが、今では少し理解できるようになりました。 ただし、通常、英語にはエンコードはありません...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。