解决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 相关文章推荐
广告显示判断
Aug 31 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
Sep 09 Javascript
javascript表单验证和Window详解
Dec 11 Javascript
详解javascript传统方法实现异步校验
Jan 22 Javascript
js如何准确获取当前页面url网址信息
Sep 13 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
jquery插件ContextMenu设置右键菜单
Mar 13 Javascript
JavaScript实现移动端轮播效果
Jun 06 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
Jun 20 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
vue 实现Web端的定位功能 获取经纬度
Aug 08 Javascript
vue中使用mockjs配置和使用方式
Apr 06 Vue.js
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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
PHP函数utf8转gb2312编码
2006/12/21 PHP
php面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
jQuery实现三级联动效果
2017/03/02 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
vue中监听返回键问题
2019/08/28 Javascript
Python中的super()方法使用简介
2015/08/14 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
Python做文本按行去重的实现方法
2016/10/19 Python
有趣的python小程序分享
2017/12/05 Python
Python实现简单的语音识别系统
2017/12/13 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
大学生蛋糕店创业计划书
2014/01/13 职场文书
会计个人实习计划书
2014/08/15 职场文书
运动会广播稿100字
2014/09/14 职场文书
四查四看整改措施
2014/09/19 职场文书
趣味运动会加油词
2015/07/18 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python
redis实现的四种常见限流策略
2021/06/18 Redis
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
MySQL分区表实现按月份归类
2021/11/01 MySQL