json字符编码问题
答
浏览器的默认编码大概是Unicode UTF-8。试试 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
。
答
您的输入数据不是Unicode。 0xE1是传统的latin1/ISO-8859 - */Windows-1252。 \ u00e1是对其进行编码的JSON/JavaScript。 JSON 必须使用Unicode编码。
解决它通过修复您的输入或使用像iconv转换它。
答
如果仅检查响应(响应仅为文本,但JSON必须是对象),则可能存在一个问题。
您必须先将响应文本解析为JavaScript对象(JavaScript中的JSON.parse
),然后字符将变为与服务器端相同。
实施例: 论PHP代码的服务器:
$myString = "árvízrtűrő tükörfúrógép";
echo json_encode($myString); //this sends the encoded string via a protocol that maybe can handle only ascii characters, so the result on the client side is:
在客户端
alert(response); //check the text sent by the php
输出:“\ u00e1rv \ u00edzrt \ u0171r \ u0151吨\ u00fck \ u00f6rf \ u00far \ u00f3g \ u00e9p”
从respopnse做一个JS对象
parsedResponse = JSON.parse(response);
alert(parsedResponse);
输出:“árvízrtűrőtükörfúrógép”
你如何编码您的数组,你如何处理该编码的阵列? – Gumbo 2010-03-12 18:50:28
您可能想要添加您正在使用的语言(PHP/Python/ASP/...)以及输入来自何处(数据库/ HTTP提交的表单/ ...) – janmoesen 2010-03-12 19:36:57