我正在尝试从网站中提取中文单词。
我正在使用简单的 cURL 代码:
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
echo $response;
其中一个词的预期结果是
网络频率
但是我得到了这个:
ÍøÂçƵÂÊ
此外,如果我对单词进行 url 编码,结果也会不同。
我最近遇到编码问题。 中文字符是UTF8还是什么? 谁能帮我 chars 会显示“正常”回显,如果我对它们进行 url 编码,结果将与我从网站上复制它们一样。
干杯
最佳答案
中文一般都是UTF-8,没错。您遇到的问题可能不是没有正确接收数据(cURL 知道它在做什么),而是您没有将它们正确发送到浏览器。
在您的页面顶部试试这个:
header('Content-Type: text/html; charset=utf-8');
这将告诉浏览器您正在发送 UTF-8 信息。
更新:如果这不起作用,可能是 PHP 本身没有正确处理它们。尝试在您的 echo
中使用 utf8_encode
和 utf8_decode
。如果这不起作用,则 cURL 没有正确解码流,这意味着您必须在响应中查找 Content-Type
header 并相应地解码流。
关于php - 中文字符 - PHP 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548932/