我有以下JSON字符串{"name":""C\u008cUR Carmen"}
但\u008c
不解析。它显示空白字符。JS无法解析JSON与Unicode字符
json = '{"name":"C\u008cUR Carmen"}';
json = JSON && JSON.parse(json) || $.parseJSON(json);
显示:CUR Carmen
期待:CŒUR Carmen
请帮助。
*注*:JSON数据是由PHP服务器返回所以不应该有任何语法错误,因为我以前json_encode
,并从AJAX的响应。它的工作原理与其他人物如à, é
但只有这个奇怪的字符显示不正确
编辑:解决!这不是JS问题,它是MySQL返回的字符集问题。在返回SQL数据之前,您可以使用mysql_set_charset('utf8')
。显示\u0152
预期
你的json字符串中还有一个额外的双引号。 – nthall
请阅读我的编辑 –
以我FF控制台表达'JSON.parse(“{‘姓名’:‘C \ u008cUR卡门’}”)'被正确评价,并unicode字符存在于输出,也许有一些问题与字体用于输出这个字符串。 – VitaliyG