解决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入门——事件切换之toggle()方法应用介绍
Feb 05 Javascript
jQuery取得select选择的文本与值的示例
Dec 09 Javascript
使用javascript为网页增加夜间模式
Jan 26 Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 Javascript
Javascript模块化编程详解
Dec 01 Javascript
JavaScript中解析JSON数据的三种方法
Jul 03 Javascript
jquery读写cookie操作实例分析
Dec 24 Javascript
jsTree使用记录实例
Dec 01 Javascript
微信小程序视图template模板引用的实例详解
Sep 20 Javascript
解决iview打包时UglifyJs报错的问题
Mar 07 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
Jun 05 Javascript
Javascript幻灯片播放功能实现过程解析
May 07 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
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
PHP 导出Excel示例分享
2014/08/18 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
使javascript也能包含文件
2006/10/26 Javascript
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
[原创]推荐10款最热门jQuery UI框架
2014/08/19 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
2015/11/27 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
Angular ng-animate和ng-cookies用法详解
2018/04/18 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
兼职业务员岗位职责
2014/01/01 职场文书
项目开发计划书
2014/01/09 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
横幅标语大全
2014/06/17 职场文书
设备收款委托书范本
2014/10/02 职场文书
2014年感恩节活动策划方案
2014/10/06 职场文书
收入证明申请书
2015/06/12 职场文书
公司酒会致辞
2015/07/30 职场文书
MySQL如何解决幻读问题
2021/08/07 MySQL
Python图片验证码降噪和8邻域降噪
2021/08/30 Python
python_tkinter弹出对话框创建
2022/03/20 Python