php发送http请求返回的中文是乱码

WBOY
풀어 주다: 2016-06-23 14:11:29
원래의
1392명이 탐색했습니다.

小弟刚开始学习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);
로그인 후 복사


回复讨论(解决方案)

下图是上图的 utf-8 内容在 gbk 环境下的显示

你的浏览器是gbk编码吧,用header指定下输出字符集。

下图是上图的 utf-8 内容在 gbk 环境下的显示
呃。为什么是这样呢。我也知道应该是编码不对的问题。要怎么改正?

你的浏览器是gbk编码吧,用header指定下输出字符集。

可这两个结果是在同一个浏览器下面截的图啊

是同一个浏览器,可是人家输出时指定了utf-8编码,而你没有。头部加上:
header("content-type:text/html;charset=utf-8");

两个页面的编码方式应该相同,就可以了,我用的gbk

我也刚开始。,,,

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿