Extjs Ajax 乱码问题解决方案


Posted in Javascript onApril 15, 2009

在一次页面浏览过程中,客户端对一个URL发起浏览请求,服务端针对这次请求进行解析,而在字符编码解析方面,首先他检查该页面中的字符编码设置,即<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,这样,在页面中显示声明了字符编码为UTF-8,服务器就会将该页面用UTF-8的编码输出,而如果页面中没有显示声明,在服务器中都有一个默认的字符编码,比如GB2312,针对没有声明的文件,他会用默认编码输出,这个时候,如果页面输出又是UTF-8,这样就会出现乱码。

而在Ext中的提交数据的过程中,Ext框架用的是都是UTF-8编码,而且通过JSON提交的数据也是UTF-8编码,所以要求所有的文件都是UTF-8编码。
解决乱码的方法
以下几项首先必须要在平时的编码过程中做到:

(1) JAVA后台文件加入 response.setContentType("text/html");
response.setCharacterEncoding("utf-8");

(2)在文件中显示声明字符编码,<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

(3)对于提交中出现的乱码,在Ext中可以修改Request Header中Content-Type的设置,具体的方法为:Ext.lib.Ajax.defaultPostHeader += ";charset=utf-8";

最后,问题还可能出现在文件的保存格式上。就是你把代码文件保存的时候,如果开发环境默认保存的不是UTF-8格式,那么也会出现问题! 所以就要对开发环境也有一个要求。
开发环境的配置
如果采用记事本来编写保存代码文件(.js),那这个就会出问题,主要是由于在windows系统里记事本默认的编码格式是ANSI,这样基本上和目前网页中编码的格式都不同因此就会出现编码格式不正确的问题。解决办法就是打开xx.js文件然后另存为,在保存类型处选择utf-8编码格式就可以了。
当然,主流还是使用MyEclipse,所以说一下MyEclipse里要配置哪些地方。
Preferences->General->Content Types 选中Text 编辑下面的Default encoding 为utf-8然后Update。
Preferences->General->Content Types->Editors->Text Editors->Spelling 下Encoding 选 Default(UTF-8)
Preferences->General->Content Types->Workspace下Text File Encoding 选 Other: UTF-8
最后如果还出现乱码 , 利用
System.out.print(request.getCharacterEncoding());
System.out.print(response.getCharacterEncoding());
察看request 或 response 编码是否不是utf-8
若不是,利用web.xml中的 filter 解决.

<filter>
<description>no</description>
<display-name>EncodingFilter</display-name>
<filter-name>EncodingFilter</filter-name>
<filter-class>
com.hope.filters.SetCharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
或者设置
<globalization responseEncoding="utf-8" fileEncoding="utf-8" requestEncoding="utf-8"/>
Good Luck!

Javascript 相关文章推荐
理解Javascript_03_javascript全局观
Oct 11 Javascript
解决jQuery插件tipswindown与hintbox冲突
Nov 05 Javascript
javascript来定义类的规范小结
Nov 19 Javascript
jQuery使用元素属性attr赋值详解
Feb 27 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
Jan 26 Javascript
AngularJS入门教程之迭代器过滤详解
Aug 18 Javascript
利用Angular.js限制textarea输入的字数
Oct 20 Javascript
微信小程序 数据封装,参数传值等经验分享
Jan 09 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
代码详解JS操作剪贴板
Feb 11 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
Sep 16 Javascript
vue+AI智能机器人回复功能实现
Jul 16 Javascript
网页开发中的容易忽略的问题 javascript HTML中的table
Apr 15 #Javascript
jQuery 入门讲解1
Apr 15 #Javascript
javascript 类方法定义还是有点区别
Apr 15 #Javascript
javaScript 读取和设置文档元素的样式属性
Apr 14 #Javascript
JavaScript获取GridView选择的行内容
Apr 14 #Javascript
用JavaScript页面不刷新时全选择,全删除(GridView)
Apr 14 #Javascript
JavaScript asp.net 获取当前超链接中的文本
Apr 14 #Javascript
You might like
我的论坛源代码(八)
2006/10/09 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
js生成随机数之random函数随机示例
2013/12/20 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
2017/04/27 jQuery
微信小程序学习之数据处理详解
2017/07/05 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
JS常用排序方法实例代码解析
2020/03/03 Javascript
wxpython 学习笔记 第一天
2009/02/09 Python
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
低版本中Python除法运算小技巧
2015/04/05 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
python3.6数独问题的解决
2019/01/21 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
Python join()函数原理及使用方法
2020/11/14 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
自动化专业毕业生求职信
2014/06/18 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android