ホームページ  >  記事  >  バックエンド開発  >  curlで取得したWebページの中国語文字化けに関する問題について

curlで取得したWebページの中国語文字化けに関する問題について

WBOY
WBOYオリジナル
2016-06-13 13:13:201063ブラウズ

curlでキャプチャしたWebページの中国語文字化け問題について!
現在、トランスコーディングにはこの関数を使用しています:
functionsafeEncoding($str){
$code=mb_detect_encoding($str,array('ASCII','GB2312','GBK','UTF-8 ' ));//文字列エンコーディングを検出します
if($code=="CP936"){
$result=$str;
}
else{
//$result= mb_convert_encoding( $str,'UTF-8',$code);//エンコーディング $code を utf-8 エンコーディングに変換します
$result=iconv($code,"UTF-8",$str);
}
return $result;
}
しかし、明らかに gb2312 と表示されるいくつかの文字セットに遭遇すると、依然として文字化けしてしまいます。どうすれば、curl を完全にトランスコードできるでしょうか?これは、gbk、gb2312、およびその他の一般的に使用される Web ページ形式を utf8 に変換することです。

-----解決策---------
ファイルのエンコーディングを変換する 試してみてください!
------解決策------------------
EUC-CN は、GB 2312 の最も一般的に使用される表現方法です。ブラウザのエンコード表の「GB2312」は通常「EUC-CN」表記を指します。
これは鍵ではありません!
必要なのは、gbk、gb2312、その他の一般的な Web ページ形式を utf8 に変換することです
しかし、コードではこれができません

if(! mb_check_encoding($str, 'utf-8 ') ) {
$str = mb_convert_encoding($str,'UTF-8','gbk');
}

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