在HTTP响应中获取百分比('%')字符和unicode代码点

时间:2014-03-30 14:50:58

标签: json unicode

我通过简单的GET请求连接到HTTP API。

预期的响应是一个字符串,表示一个JSON,可能包含希伯来语(unicode)字符,但我得到这样的东西(仅粘贴在开头):

%u007b%u0020%u0022%u0053%u0074%u0061%u0074%u0075%u0073...

无论是直接使用ajax还是浏览器导航栏,结果都是一样的。

我获得预期的json字符串的唯一地方是在Firefox控制台中,通过记录响应对象,选择它并查看responseText属性。 我也可以用反斜杠替换百分比字符,将结果放在unicode解析器中并获得正确的字符串。

任何人对于发生了什么都有任何想法?

1 个答案:

答案 0 :(得分:0)

响应似乎使用已弃用的javascript函数escape()进行编码,从而产生%uXXXX编码。如果是这种情况,那么服务应该改为使用上面link中引用的encodeURIComponent()或encodeURI()。 您当前的手动取消编码解决方法是更新服务之前的正确方法。