`
kong1616
  • 浏览: 103275 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Extjs Ajax 乱码问题解决方案

阅读更多

乱码的原因


    在Ext的使用过程中,一不留心就出现了乱码,包括在客户端提交给服务器的数据中出现了乱码和服务器端返回给客户端的数据中出现了乱码,下面简单分析一下出现乱码的原因。

  在一次页面浏览过程中,客户端对一个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里要配置哪些地方。

   1. Preferences->General->Content Types 选中Text 编辑下面的Default encoding 为utf-8然后Update。
   2. Preferences->General->Content Types->Editors->Text Editors->Spelling 下Encoding 选 Default(UTF-8)
   3. 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"/>

ROR中文乱码问题解决 收藏

1.确保文档保存成 UTF8 

      VIM 中的设定 vimrc(/usr/share/vim/vimrc)文档中添加:set fileencoding=utf8

2.确保database.yml([project]/config/database.yml) 中有

    encoding: utf8

3.确保 layout中有

   <meta http-equiv="content-type" content="text/html;charset=UTF-8" />

4.mysql 中的编码,在my.ini([mysql installed path]/my.ini) 里面有 default-character-set=utf8

注意:4点做完后数据库需要重新建立一下,用query browser 来插入中文看看成功不。
分享到:
评论

相关推荐

    ExtJs Ajax 同步问题

    在描述中提到的博客链接可能详细解释了遇到的特定问题和解决办法,但由于无法直接访问,我们可以从一般性的角度分析可能的问题和解决方案: 1. **配置错误**:确保`async`参数设置正确。如果希望请求同步,设置`...

    extjs 前后台交互参数出现中文乱码问题的解决方法

    ### extjs前后台交互参数出现中文乱码问题的解决方法 #### 问题背景与原因分析 在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的...

    tree 动态树 extjs ajax

    在给定的标题和描述中,主要涉及了ExtJS中的动态树(tree)功能以及与AJAX的结合使用。下面将详细介绍这些知识点。 **动态树(Dynamic Tree)** 动态树是ExtJS中的一种控件,用于展示层次结构的数据。它可以实时地...

    extjs ajax tree(js动态树,无需递归)

    ExtJS AJAX Tree是一种基于JavaScript的动态树形结构,它利用AJAX技术来异步加载节点数据,无需在服务器端生成完整的树结构。这种方式可以显著提高页面加载速度,尤其是在处理大量数据时。ExtJS是一个功能丰富的...

    EXTJS AJAX方式发送数据给后台服务器.rar

    本教程主要讲解如何使用EXTJS的AJAX方法向后台服务器发送数据,这对于实现动态交互和数据同步至关重要。 一、EXTJS AJAX基础 EXTJS中的AJAX调用通过Ext.Ajax对象来实现,它提供了一系列的方法,如`request`、`post...

    extjs对ajax的支持文档

    - 使用`Ext.Ajax.request`方法发起Ajax请求,该方法接受一系列参数,如URL、方法(GET或POST)、数据、回调函数等。 2. **请求配置**: - `url`: 发送请求的目标地址。 - `method`: HTTP方法,通常为GET或POST。...

    Extjs Ajax 购物车

    **ExtJS AJAX购物车详解** 在Web开发中,ExtJS是一个强大的JavaScript库,它提供了丰富的用户界面组件和数据管理功能,常用于构建复杂的桌面级应用。而Ajax技术则是实现页面无刷新更新的关键,使得用户在与网页交互...

    extJS4升级至extJS6.6所遇问题及解决方案

    项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议

    extjs ajax同步请求所需js

    标题中提到的"extjs ajax同步请求所需js"是指ExtJS框架中用于执行同步Ajax请求的相关JavaScript代码。在ExtJS中,Ajax请求通常通过`Ext.Ajax`对象来实现。与传统的异步请求不同,同步请求会阻塞浏览器,直到请求完成...

    ExtJs事件处理 ajax

    下面将详细解释标题和描述中提到的ExtJs事件处理,以及与Ajax交互的相关知识。 1. **基本事件处理** - 在ExtJs中,可以使用`on`方法来监听DOM元素或Ext组件的事件。例如,监听ID为'somelink'的元素的点击事件,...

    ExtJS中文乱码之GBK格式编码解决方案及代码

    在使用ExtJS框架开发Web应用时,我们常常会遇到...通过上述方法,我们就可以解决ExtJS中文乱码问题,确保Web应用在GBK页面编码环境下的中文正常显示。对于遇到类似问题的开发者来说,这些方法将提供一定的参考价值。

    extjs3.0 ajax 同步请求

    #### 四、兼容性问题及解决方案 在上述代码片段中提到了一个关于浏览器兼容性的问题:“在 Firefox 12 中使用时,无法在 IE 和 Chrome 中使用,需要进行一些修改。”这可能是由于不同浏览器对 XMLHttpRequest 对象...

    extjs最全项目 js struts Ajax

    **标题详解:** "extjs最全项目 js struts Ajax" 这个标题暗示了这是一个综合性的IT项目,主要涉及EXTJS框架、JavaScript(js)、Struts框架以及Ajax技术。EXTJS是一个用于构建用户界面的前端JavaScript库,它提供...

    extjs常见问题及解决方法

    extjs常见问题http://www.jb51.net/list/list_217_1.htm

    Ajax框架ExtJS3.0源代码

    ExtJS是一个基于JavaScript的开源富客户端框架,专为构建交互式Web应用而设计。它封装了DOM操作、AJAX通信、UI组件等Web开发的核心功能,使得开发者可以通过编写...对于提升前端开发技能和解决实际问题具有极高的价值。

    Asp.net+Extjs+Ajax轮询进度条.rar

    在IT行业中,Asp.NET、ExtJS和Ajax是构建高效、动态Web应用程序的关键技术。"Asp.net+Extjs+Ajax轮询进度条.rar"这个压缩包文件显然包含了一个使用这些技术实现的特定功能——一个实时显示服务器处理进度的进度条...

    myeclipse中使用extjs缓慢 卡死 白屏 解决方法总结

    ### MyEclipse中使用ExtJS出现缓慢、卡死、白屏问题及解决方法总结 在进行Web开发时,经常会遇到一些工具与框架不兼容或配置不当导致的问题,这些问题往往会影响到开发效率。本文将针对在MyEclipse环境中使用ExtJS...

    ExtJS(ajax框架) 4.2.1

    ExtJS(ajax框架) 4.2.1 功能介绍 功能丰富,无人能出其右。 无论是界面之美,还是功能之强,ext的表格控件都高居榜首。 单选行,多选行,高亮显示选中的行,拖拽改变列宽度,按列排序,这些基本功能ExtJS轻量级...

Global site tag (gtag.js) - Google Analytics