Javascript和Ajax中文乱码吐血版解决方案


Posted in Javascript onDecember 21, 2009

今天弄了一天的Ajax中文乱码问题,Ajax的乱码问题分为两种:

1. JavaScript输出的中文乱码,

比如:alert("中文乱码测试");

解决的办法比较简单,就是把jsp里所有的charset和pageEncoding的值都设置成相同的,一般是utf-8.

2. 这第二种就是Ajax从服务器端获得的数据出现乱码的问题。(我搜了n个小时试了n中方法才找到答案)

现在将我搜集的比较有效的方法都与大家分享:(我使用的开发环境是Eclipse,相信其他语言和开发环境都差不太多。)

 比如

var message = xmlHttp.responseText;
 alert("message: "+message);

获得这个message输出就是乱码

 

解决办法:

1. 修改编码。切记要将代码备份一下,改了编码之后中文会变为乱码。

在js文件上右键点击Properties,修改Text file encode 为UTF-8(这里应当与jsp中的编码相同) 

Javascript和Ajax中文乱码吐血版解决方案 

同样的将JavaScript source file和JSP的Default encoding设置为UTF-8(这里应当与jsp中的编码相同,这样以后的项目就都是utf-8的编码了,推荐使用这个)

2. 注意response.setContentType("text/html;charset=utf-8");和PrintWriter out = response.getWriter();的位置关系,切记要将PrintWriter out = response.getWriter();放在response.setContentType("text/html;charset=utf-8");的后面,否则设置的编码将无效,这也是我弄了n久都搞不定的原因!!!

问题解决。 

Javascript 相关文章推荐
基于jQuery的自动完成插件
Feb 03 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 Javascript
JS实现简单的顶部定时关闭层效果
Jun 15 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
js实现获取当前时间是本月第几周的方法
Aug 11 Javascript
深入分析jsonp协议原理
Sep 26 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
May 30 Javascript
JS中使用变量保存arguments对象的方法
Jun 03 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
Dec 26 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
Jan 14 Javascript
通过GASP让vue实现动态效果实例代码详解
Nov 24 Javascript
vue+element UI实现树形表格
Dec 29 Vue.js
利用jQuery的$.event.fix函数统一浏览器event事件处理
Dec 21 #Javascript
jQuery 连续列表实现代码
Dec 21 #Javascript
jQuery解决iframe高度自适应代码
Dec 20 #Javascript
IE 上下滚动展示模仿Marquee机制
Dec 20 #Javascript
js控制div及网页相关属性的代码
Dec 19 #Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
Dec 19 #Javascript
JS 的应用开发初探(mootools)
Dec 19 #Javascript
You might like
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
JQuery index()方法使用代码
2010/06/02 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
React中如何引入Angular组件详解
2018/08/09 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
Python线性方程组求解运算示例
2018/01/17 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python系列 文件操作的代码
2019/10/06 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
Python3开发环境搭建详细教程
2020/06/18 Python
win10安装python3.6的常见问题
2020/07/01 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
生产主管岗位职责
2013/11/10 职场文书
数学国培研修感言
2014/02/13 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis