中文字符-PHP编码

中文字符-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 = 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');