cURL返回错误的字符

时间:2014-07-23 10:14:25

标签: php curl character-encoding

我有JSON对象

{"state1":"http://www.furry.cz/images/spot_public.gif","state2":"http://www.furry.cz/images/spot_readonly.gif","Id":"332","Name":"Co pr%av%e poslouch%ate?","Section":"Hlavn%i","Posts":"5473","Readable":1,"User":"Šroubek","Time":"00:25 23.07.2014","New":0}

在外部服务器上,我用cURL

下载它
<?php
   $curl = curl_init("http://dagl.6te.net/fcz/api.php?c=forum");
   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);
   curl_setopt($curl, CURLOPT_ENCODING, "");
   $result = curl_exec($curl);

而不是Šroubek,它会返回�roubek

我还尝试通过设置

将其转换为iconv
header("Content-Type: text/html, charset=UTF-8") 

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: text/plain, charset=UTF-8'));

1 个答案:

答案 0 :(得分:1)

您尝试使用ANSI以UTF-8格式下载数据的页面,然后编码出错。此外,您从页面dagl.6te.net获取数据,即在ANSI中下载页面furry.cz并且没有更改编码。因此重音字符Replacin原来进一步将应用程序切换回字符。

实施例: Š=%S 在appliaction我把它改回Š

编辑:修正了API。