如何用php将未知字符转换为UTF-8?

时间:2012-08-23 13:25:26

标签: php curl encoding character-encoding json

我正在通过php中的curl向网页发送请求并将其作为回复:

���`I�%&/m�{J�J��t��`$ؐ@�������iG#)�*��eVe]f@�흼��{����{����;�N'���?\fdl��J�ɞ!���?~|?"~�G�Y��?z��ݧ�y�.�q֬��ٛ�U��W��Y�-�M��K�z��a,

通常情况下,答案应该是这样的:

{"value":"/Default.aspx?aType=UyeIlanListe"}

已经尝试过json_encode,mb_convert_encoding($ return,“UTF-8”,“ISO-8859-1”)和mb_convert_encoding($ return,“ISO-8859-1”,“UTF-8”)函数。< / p>

我在这里缺少什么?

以下是回复的原始屏幕截图:

enter image description here

response and post headers

posted data

response

json

2 个答案:

答案 0 :(得分:1)

另一种解决方案是将curz编码选项添加到curl:

curl_setopt($login, CURLOPT_ENCODING , "gzip"); 

答案 1 :(得分:0)

原来问题是gzip。

使用gzip解码后功能问题解决了:

function gzdecode($data) 
{ 
   return gzinflate(substr($data,10,-8)); 
}

P.S。根据手册

,PHP 6中将提供内置的gzip解码功能

http://php.net/manual/en/function.gzdecode.php