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 鼠标移动上去小三角形滑块缓慢跟随效果
Apr 26 Javascript
jquery使用jxl插件导出excel示例
Apr 14 Javascript
javascript白色简洁计算器
May 04 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
Dec 03 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
JS针对Array的各种操作汇总
Nov 29 Javascript
Js利用Canvas实现图片压缩功能
Sep 13 Javascript
详解wow.js中各种特效对应的类名
Sep 13 Javascript
在Vue 中使用Typescript的示例代码
Sep 10 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
Vuex实现简单购物车
Jan 10 Vue.js
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
Feb 23 Vue.js
网页开发中的容易忽略的问题 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
用PHP编写和读取XML的几种方式
2013/01/12 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
php四种基础算法代码实例
2013/10/29 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python 命令行非阻塞输入的小例子
2013/09/27 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
python实现贪吃蛇游戏
2020/03/21 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
大学生校园创业计划书
2014/02/08 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
文化大革命观后感
2015/06/17 职场文书
网络舆情信息简报
2015/07/21 职场文书
厉行节约工作总结
2015/08/12 职场文书
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers