ホームページ >バックエンド開発 >PHPチュートリアル >httpリクエスト送信時にphpから返される中国語が文字化けする

httpリクエスト送信時にphpから返される中国語が文字化けする

WBOY
WBOYオリジナル
2016-06-23 14:11:291459ブラウズ

php を学び始めたばかりで、curl を使用して http リクエストを送信しましたが、返された中国語はすべて文字化けしていました。

ブラウザでURLを直接閲覧するとこんな感じです。


でもphpでキャプチャするとこうなります。


コードは次のとおりです、解決方法についてアドバイスをお願いします。

$url='http://www.battlenet.com.cn/api/wow/achievement/2144';$ch=curl_init();$head=array("Content-Type: application/json;charset=UTF-8");curl_setopt($ch,CURLOPT_HTTPHEADER,$head);curl_setopt($ch,CURLOPT_URL,$url);curl_exec($ch);curl_close($ch);


ディスカッション (解決策) への返信

下の図は、gbk 環境で上の図の utf-8 コンテンツを表示したものです

お使いのブラウザは gbk エンコーディングです。ヘッダーを使用して、出力文字セット。

下の写真は、上の写真のutf-8コンテンツをgbk環境で表示したものです
うーん。どうしてこれなの?また、それが間違ったコーディングに問題があることもわかっています。それを修正するにはどうすればよいですか?

ブラウザは gbk でエンコードされている必要があります。ヘッダーを使用して出力文字セットを指定します。

しかし、これら 2 つの結果は同じブラウザから取得されたものです

同じブラウザですが、出力時に UTF-8 エンコーディングを指定しましたが、指定しませんでした。ヘッダーに次のように追加します:
header("content-type:text/html;charset=utf-8");

2 つのページのエンコード方法は同じである必要があります。つまり、gbk
f0b0559167eed51fc43d87e9e5cf10cd
始めたばかりです。 、、、

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