ホームページ >バックエンド開発 >PHPチュートリアル >httpリクエスト送信時にphpから返される中国語が文字化けする
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
始めたばかりです。 、、、