php - 中文字符 - PHP 编码

标签 php encoding cjk

我正在尝试从网站中提取中文单词。

我正在使用简单的 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_encodeutf8_decode。如果这不起作用,则 cURL 没有正确解码流,这意味着您必须在响应中查找 Content-Type header 并相应地解码流。

关于php - 中文字符 - PHP 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548932/

相关文章:

php - nginx 可以提供 PHP 缓存的文件吗?

python - 让 OneHotEncoder 管理转换步骤中看不见的值

c# - 我应该为拼音使用什么文化代码?

python - 使用 Python 和正则表达式查找字符串中的所有中文文本

php - 通过 facebook php api 作为 facebook 管理员在 facebook 页面墙上发布

php - 如何同时向mysql数据库的两个不同表中插入数据?

php - 计算行和列中相同的数字 php mysql

python - 将 python 3.7 默认编码从 cp1252 更改为 cp65001 aka UTF-8

linux - 如何在 Bash 中检测文件是否具有 UTF-8 BOM?

c++ - 将 CJK 音译为拉丁语——最好使用 C++