解决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 相关文章推荐
javascript JSON操作入门实例
Apr 16 Javascript
异步javascript的原理和实现技巧介绍
Nov 08 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
Jan 13 Javascript
浅析jQuery中使用$所引发的问题
May 29 Javascript
浅谈JavaScript对象的创建方式
Jun 13 Javascript
plupload+artdialog实现多平台上传文件
Jul 19 Javascript
微信小程序定位当前城市的方法
Jul 19 Javascript
小程序实现左滑删除功能
Oct 30 Javascript
详解vue 不同环境配置不同的打包命令
Apr 07 Javascript
javascript实现移动端触屏拖拽功能
Jul 29 Javascript
Ant-design-vue Table组件customRow属性的使用说明
Oct 28 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
Nov 13 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 正则表达式的学习探讨
2013/06/06 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
jQuery插件实现文件上传功能(支持拖拽)
2020/08/27 Javascript
js中json处理总结之JSON.parse
2016/10/14 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
python 读取修改pcap包的例子
2019/07/23 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
Django使用rest_framework写出API
2020/05/21 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
印度购物网站:TATA CLiQ
2017/11/23 全球购物
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
上课睡觉检讨书
2014/01/28 职场文书
大型晚会策划方案
2014/02/06 职场文书
战略合作协议书范本
2014/04/18 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
安全责任书怎么写
2014/07/28 职场文书
庆祝教师节标语
2014/10/09 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
Python开发五子棋小游戏
2022/04/28 Python