Encoding 在Curl请求中更改的字符

Encoding 在Curl请求中更改的字符,encoding,curl,Encoding,Curl,当我查看使用以下代码获得的XML数据提要时,XML代码中的特殊字符是正确的。 但是,当Curl返回数据时,像“ó”和“ä”这样的字符将转换为resp。“ó”和“÷”。 这种转换发生在所有特殊字符上,这2个字符只是一个例子 $myvar = curl_init(); $myURL = "http://someurl.com/"; curl_setopt($myvar, CURLOPT_USERAGENT, '[Mozilla/5.0 (Windows; U; Windows NT 5.1; e

当我查看使用以下代码获得的XML数据提要时,XML代码中的特殊字符是正确的。 但是,当Curl返回数据时,像“ó”和“ä”这样的字符将转换为resp。“ó”和“÷”。 这种转换发生在所有特殊字符上,这2个字符只是一个例子

$myvar = curl_init();
$myURL = "http://someurl.com/";
curl_setopt($myvar, CURLOPT_USERAGENT, '[Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2")]');
curl_setopt($myvar, CURLOPT_URL, $myURL);
curl_setopt($myvar, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($myvar, CURLOPT_TRANSFERTEXT, TRUE);
curl_setopt($myvar, CURLOPT_CONNECTTIMEOUT,3);
$xmlstr = curl_exec ($myvar);
XML文件的头表示编码如下“?XML version=“1.0”encoding=“UTF-8”?”

我所要做的就是在不进行任何转换的情况下,在Curl结果中显示相同的字符

希望我只是错过了一些简单的步骤,期待着任何答案

致意
Fons

您如何知道
$xmlstr
包含错误的字节?如果您在某种类型的终端窗口中查看输出,那么问题很可能是终端不支持UTF-8,而不是旋度被破坏


cURL不关心UTF-8或任何其他字符编码——它的工作只是从某处获取字节序列。它不太可能做任何会破坏特殊角色的事情。如果使用cURL的方式有问题,它将破坏所有内容,而不仅仅是非ASCII字符。

当我使用echo$xmlstr并查看源文件时,字符被隐藏。我使用
w3.org/TR/xhtml1/DTD/xhtml1 transitional.DTD>作为输出(html)的标题。您的建议是更改吗?我很高兴知道使用哪个标题。关于Fontry,在
部分的顶部添加
您刚刚节省了我的时间!!工作如预期,现在我没有有趣的“ó“和”Ã“了。我就可以为此狠狠地揍自己一顿。由于这是一个本地网站,所以我不关心标题中的任何元标记,我在标题中为外部页面使用默认设置。非常感谢,你刚刚给了我一个没有工作的周末!向丰斯问好