解决JSON.stringify()自动将中文转译成unicode的问题


Posted in Javascript onJanuary 05, 2018

最近在工作中,发现在IE8下JSON.stringify()自动将中文转译为unicode编码,原本选择的中文字符,传到后台变为了unicode编码,即\u****的形式。查找资料后发现,与标准的JSON.stringify()不同,IE8内置的JSON.stringify()会自动将编码从utf-8转为unicode编码,导致出现这种类似于乱码的情况。

解决方法分为两种,第一种是后台接收到数据之后,将该数据再进行一次转码,重新转为utf-8,然后再保存到数据库中,这样,再次从数据库取出传给前端的数据将变成utf-8格式(即正常的中文)。第二种则是不管在IE8下还是高级浏览器中,使用eval()统一进行转码,最后的结果都为utf-8编码。

本文主要讲解第二种方法,即使用eval()转码的方法。在MDN上,eval()的解释是:eval()的参数是一个字符串。如果字符串表示的是表达式,eval()会对表达式进行求值。如果参数表示一个或多个JavaScript语句, 那么eval()就会执行这些语句。

var a = "吃翔翔";
var unicodeJsonA = JSON.stringify("a");//unicode
var jsonA = eval('(' + unicodeJsonA + ')');
//utf-8

如上代码,通过eval()执行,强行将unicode转码为utf-8,无论JSON.stringify()后出来的结果是utf-8还是unicode,统一转为utf-8格式。

其实,解决的方法还有第三种——使用json2.js中的JSON.stringify()代替IE8的JSON.stingify()。但是,当有浏览器自带的JSON对象时,会启用浏览器自带的JSON对象代替json2.js中的JSON对象。为了解决这个问题,可以将json2.js中的JSON对象改为JSON2对象,即将JSON.stringify()改为JSON2.stringify()。

以上几种方法皆可解决IE8下自动将中文转译为unicode的问题。

以上这篇解决JSON.stringify()自动将中文转译成unicode的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 与NVelocity 产生冲突的解决方法
Jun 13 Javascript
Jquery 一次处理多个ajax请求的代码
Sep 02 Javascript
JavaScript中的eval()函数详解
Aug 22 Javascript
javascript继承机制实例详解
Nov 20 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
Dec 11 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
Feb 14 Javascript
用vue封装插件并发布到npm的方法步骤
Oct 18 Javascript
bootstrap table实现合并单元格效果
Dec 24 Javascript
实用Javascript调试技巧分享(小结)
Jun 18 Javascript
javascript使用Blob对象实现的下载文件操作示例
Apr 18 Javascript
详解React的回调渲染模式
Sep 10 Javascript
vue脚手架中配置Sass的方法
Jan 04 #Javascript
Angular4学习教程之HTML属性绑定的方法
Jan 04 #Javascript
JS基于for语句编写的九九乘法表示例
Jan 04 #Javascript
JS计算输出100元钱买100只鸡问题的解决方法
Jan 04 #Javascript
Angular4学习教程之DOM属性绑定详解
Jan 04 #Javascript
JS实现简易换图时钟功能分析
Jan 04 #Javascript
Angular4学习之Angular CLI的安装与使用教程
Jan 04 #Javascript
You might like
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
php中Redis的应用--消息传递
2017/03/28 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
JavaScript DOM 添加事件
2009/02/14 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
js中reverse函数的用法详解
2013/12/26 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
VUE饿了么树形控件添加增删改功能的示例代码
2017/10/17 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
vue实现分页加载效果
2019/12/24 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
Pytorch如何切换 cpu和gpu的使用详解
2021/03/01 Python
大学生个人求职信范文
2013/09/21 职场文书
经贸日语毕业生自荐信
2013/11/03 职场文书
文明礼仪小标兵事迹
2014/01/12 职场文书
求职信的正确写法
2014/07/10 职场文书
施工现场安全管理制度
2015/08/05 职场文书
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
python中__slots__节约内存的具体做法
2021/07/04 Python
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android