当我查看以下代码获得的XML数据源时,XML代码中的特殊字符是正确的.但是当Curl返回数据时,"ó"和"ä"等字符将转换为resp."³"和"¤".这种转换发生在所有特殊字符上,这两个只是一个例子.
$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);
Run Code Online (Sandbox Code Playgroud)
XML文件的标题说如下编码"?xml version ="1.0"encoding ="UTF-8"?"
我想要的是让相同的字符显示在Curl结果中而不进行任何转换.
希望我只是错过了一些简单的步骤,期待任何答案.
最好的问候Fons
你怎么知道$xmlstr包含错误的字节?如果您正在查看某种终端窗口中的输出,则问题可能是终端不支持UTF-8,而不是cURL已损坏.
cURL不关心UTF-8或任何其他字符编码 - 它的工作只是从某个地方获取一个字节序列.它不太可能做任何会破坏特殊字符的事情.如果你使用cURL的方式有问题,它会破坏一切,而不仅仅是非ASCII字符.
| 归档时间: |
|
| 查看次数: |
9407 次 |
| 最近记录: |