中文字符-PHP编码
我试图从一个网站上提取中文单词 我使用的是简单的cURL代码:中文字符-PHP编码,php,encoding,cjk,Php,Encoding,Cjk,我试图从一个网站上提取中文单词 我使用的是简单的cURL代码: $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); echo $response; 其中一个单词的预期结果为 网络频率 但我得到的是: ÍøÂçƵÂÊ 另外,如果我的url编码字的结果是不同的 我最近在编码方面有问题。 中国字符是UTF8还是什么? 任何人都可以帮助我
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
echo $response;
其中一个单词的预期结果为
网络频率
但我得到的是:
ÍøÂçƵÂÊ
另外,如果我的url编码字的结果是不同的
我最近在编码方面有问题。
中国字符是UTF8还是什么?
任何人都可以帮助我的字符将显示“正常”的回声,如果我的url编码他们的结果将是相同的,如果我复制他们的网站
干杯中文通常是UTF-8,是的。您遇到的问题可能不是没有正确接收数据(cURL知道它在做什么),而是没有将数据正确发送到浏览器 在页面顶部尝试以下操作:
header('Content-Type: text/html; charset=utf-8');
这将告诉浏览器您正在发送UTF-8信息
更新:如果这不起作用,可能是PHP本身没有正确处理它们。尝试在echo
中播放一点utf8\u encode
和utf8\u decode
。如果thát不起作用,那么cURL没有正确解码流,这意味着您必须在响应中查找内容类型
头并相应地解码流。试试这个
1) 创建新文档并确保该文档与UTF-8兼容
2) 使用金属标签:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
如果您是从其他页面调用curl函数,请确保该页面能够携带UTF-8字符并将其传递到UTF-8兼容页面。嘿,Tom,我以前也尝试过,但效果更糟。我只是得到了奇怪的问号:/n用两个额外的想法更新了我的答案。嘿,谢谢@Tom内容类型部分非常有用。我发现他们使用gb2312编码。Echo现在很好用。PHP默认的特许编码是utf8,对吗?所以现在我正在寻找一种将它从gb2312转换为utf8的方法,对吗?您应该能够使用
utf8\u编码($response,'gb2312')代码>。似乎不起作用,它似乎只接受1个参数。php.net说utf8_编码用于从ISO-8859转换为UTF-8ini_集(“默认字符集”,“UTF-8”);是一种从服务器端修复的好方法。
ini_set('default_charset', 'UTF-8');