淘先锋技术网

首页 1 2 3 4 5 6 7

在使用json传值时,有时候会遇到中文乱码的情况。这是因为json默认使用unicode编码进行传输,而中文在unicode中使用两个字节表示一个字符,而其他西方语言使用一个字节表示一个字符,所以在传输中文时就会出现乱码的情况。


{
  "name": "\u4e2d\u6587\u6d4b\u8bd5",
  "age": 25
}

json传值中文乱码

如上面的例子,传输的中文字符都被转化成了unicode编码的形式。如果在前端页面中直接展示,就会出现\u4e2d\u6587\u6d4b\u8bd5这样的乱码字符。

为了解决这个问题,可以在传送json时指定其编码格式为utf-8,或者在前端接收json时进行编码转换。


JSON.parse(decodeURIComponent(escape(JSON.stringify(data))))

以上代码可以将接收到的json对象中的所有中文字符进行编码转换,避免出现乱码情况。