解决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 Autocomplete自动完成插件
Jul 17 Javascript
javascript 延迟加载技术(lazyload)简单实现
Jan 17 Javascript
JS JSON对象转为字符串的简单实现方法
Nov 18 Javascript
js的延迟执行问题分析
Jun 23 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
Aug 18 Javascript
使用jQuery实现返回顶部
Jan 26 Javascript
JQuery实现防止退格键返回的方法
Feb 12 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
Mar 15 Javascript
ES6新特性之字符串的扩展实例分析
Apr 01 Javascript
详解AngularJS ui-sref的简单使用
Apr 24 Javascript
JavaScript图片处理与合成总结
Mar 04 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 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
SONY ICF-F10中波修复记
2021/03/02 无线电
IStream与TStream之间的相互转换
2008/08/01 PHP
php使用websocket示例详解
2014/03/12 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
PHP代码加密的方法总结
2020/03/13 PHP
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
antd Upload 文件上传的示例代码
2018/12/14 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
Python深入学习之闭包
2014/08/31 Python
python 日志增量抓取实现方法
2018/04/28 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python super的使用方法及实例详解
2019/09/25 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
C/C++程序员常见面试题一
2012/12/08 面试题
药学专业个人的自我评价
2013/12/31 职场文书
生物学学生自我评价
2014/01/17 职场文书
美术毕业生求职信
2014/02/25 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
见习报告的格式
2014/10/31 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
优秀团支部申报材料
2014/12/26 职场文书
白鹤梁导游词
2015/02/06 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
毕业论文致谢范文
2015/05/14 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js
Nginx配置之禁止指定IP访问
2022/05/02 Servers
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript