解决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实现多级下拉框无刷新的联动
Dec 22 Javascript
js获取单选框或复选框值及操作
Dec 18 Javascript
js/jquery解析json和数组格式的方法详解
Jan 09 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
AngularJS中处理多个promise的方式
Feb 02 Javascript
总结Javascript中的隐式类型转换
Aug 24 Javascript
利用jQuery实现一个简单的表格上下翻页效果
Mar 14 Javascript
vue-router路由与页面间导航实例解析
Nov 07 Javascript
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
Apr 26 jQuery
通过vue写一个瀑布流插件代码实例
Sep 07 Javascript
Javascript异步流程控制之串行执行详解
Sep 27 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在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
Python进行数据科学工作的简单入门教程
2015/04/01 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
tensorflow之并行读入数据详解
2020/02/05 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
python opencv肤色检测的实现示例
2020/12/21 Python
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
大学生求职自荐信
2013/12/12 职场文书
新闻发布会主持词
2014/03/28 职场文书
买卖协议书范本
2014/04/21 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
家庭经济困难证明
2015/06/23 职场文书
教师培训学习心得体会
2016/01/21 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python