ホームページ  >  記事  >  バックエンド開発  >  PHP が文字列エンコード関数を自動的に取得する mb_detect_encoding_PHP チュートリアル

PHP が文字列エンコード関数を自動的に取得する mb_detect_encoding_PHP チュートリアル

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

エンコーディング識別のためにphpのmb_detect_encoding関数を使用する場合、多くの人がGB2312とUTF-8、またはUTF-8とGBKなどの間違ったエンコーディングの問題に遭遇したことがあります(ここでは主にcp936の判断のためです)と言われています文字が短いため、mb_detect_encoding が誤判定を引き起こす可能性があるとオンラインで報告されています。
例:

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

$encode = mb_detect_encoding($keytitle, array("ASCII",'UTF-8',"GB2312',"GBK",' BIG5')) ;
if ($encode == “UTF-8″){
$keytitle = iconv("UTF-8″,"GBK",$keytitle);
}

このコードの機能は次のとおりです。文字列を検出するには、エンコーディングが UTF-8 ですか? その場合は、GBK に変換します。ただし、$keytitle = “%D0%BE%C6%AC”; の場合、このバグは実際には UTF-8 ではありません。プログラムを作成するときは、mb_detect_encoding に依存しすぎないようにしてください。文字列が短い場合、検出結果が偏る可能性があります。解決方法は次のとおりです。


コードは次のとおりです: $encode. = mb_detect_encoding($keytitle, array('ASCII','GB2312','GBK','UTF-8');
3 つのパラメーターは次のとおりです: 、エンコード方式の検出順序 (True になると、後で自動的に無視されます)、厳密モード
最大の可能性を最初に配置してエンコード検出の順序を調整し、誤った変換の可能性を減らします
一般的に、gb2312 は次のようになります。 GBKとUTF-8がある場合は、よく使うものを前に並べる必要があります



http://www.bkjia.com/PHPjc/323437.html

www.bkjia.com

http://www.bkjia.com/PHPjc/323437.html技術記事エンコーディングの識別に php の mb_detect_encoding 関数を使用する場合、多くの人が、GB2312 と UTF-8、または UTF-8 と GBK などの間違ったエンコーディングの問題に遭遇しました (ここでは主に... )
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。