`
smartdong
  • 浏览: 21421 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Ajax中文乱码问题解决方案

    博客分类:
  • ajax
阅读更多
      中文乱码问题一直是困扰中国程序员的一大难题,但归根结底,问题的实质都是一样的。有些时候会莫名其妙地出现乱码问题,而有些时候乱码问题又莫名其妙地解决了!连自己都不知道是为什么!

  昨天鼓捣一晚上也没有把Ajax请求中的中文乱码问题解决,可今天早上随便乱改,问题居然解决了???我的天啊,真的不知道为什么!而且这种解决方案是我认为不可行的!大哭 

  我在网上找遍了解决乱码问题资料,可没有一个能行的通,无奈只好自己研究赞!其实解决的方法很简单,具体如下:

 

  将客户端文件的编码设置为GB2312,如下面代码所示:

Html代码
  1. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  

  在发送的URL地址中的查询字符串或者是使用POST方式发送的请求内容不要使用escape函数进行编码,切记!

  在服务器端的jsp文件也设置为gb2312编码格式,如下面代码所示:  

jsp 代码
  1. <!---->  

或者设置response的头,如下面代码所示:

java 代码
  1. response.setHeader("Content-Type","text/html; charset=gb2312");  

两者原理是一样的。

  最着关键的是在获取参数时应该对获取字符串进行重新编码,如下面代码所示:

  

java 代码
  1. String username = new String(request.getParameter("username").getBytes("ISO8859_1"),"GB2312");   

其中,username为接收的参数。

直接使用out.print(username);就可以将中文返回给客户端,在客户端直接使用xmlHttp.responseText属性就可以直接使用返回的中文了!谄笑

  附件中我测试用的一个小例子,在tomcat6.0和resin2.1.8中通过测试!

   其实,还有一个一劳永逸的解决方案,就是添加一个过滤器。

  • checkUsername.rar (8.5 KB)
  • 描述: 一个测试中文的小例子!
  • 下载次数: 163
分享到:
评论
6 楼 lollipop 2007-12-16  
呵呵,弄个过滤器就好了!过滤编码!
再加上escape就好了
5 楼 fhygogo 2007-12-14  
JSP的自己写个类转换一下就行了~~我一直这样用~~如果不懂得可以加我QQ:836199366
4 楼 bei-jin-520 2007-12-13  

补充一下提交方法为GET时时在服务器里写的时这句代码
String username = new String(request.getParameter("username").getBytes("ISO8859_1"),"GB2312");   
为POST时应该时这样吧
String username = new String(request.getParameter("username").getBytes("ISO8859_1"),"utf-8");  
3 楼 smartdong 2007-12-04  
能不能给我个参考代码,发到我的邮箱smartdongster@gmail.com,谢谢啊!
2 楼 java2eye 2007-12-03  
还有一种方法,就是提交前用javascript把中文值进行BASE64编码一下,服务器程序取到该BASE64编码后的值,再还原一下,中文就OK了。

但这种方法可能比笨拙,不过也是一种方法。呵呵。
1 楼 fsword 2007-12-02  
标准做法是unicode,编码一般可以utf-8,在某些不支持unicode的环境中做特殊处理,这种场景很少,所以那样成本要小很多

相关推荐

    Ajax中文乱码问题解决方法

    本文将深入探讨Ajax中文乱码问题的原因及其解决方案。 首先,我们需要理解Ajax乱码的根源。当JavaScript发送HTTP请求时,如果服务器和客户端之间关于字符编码的约定不一致,就会导致乱码。常见的原因包括: 1. **...

    jquery+asp ajax 中文乱码问题解决文档

    ### jQuery + ASP AJAX 中文乱码问题解决方案 在开发基于jQuery和ASP的Web应用程序时,中文乱码问题可能成为困扰开发者的一大难题。特别是在使用Ajax进行前后端数据交互时,中文字符可能会出现乱码现象,影响用户...

    Ajax 中文乱码问题

    本文将详细探讨如何解决Ajax请求过程中的中文乱码问题,并提供具体的解决方案。 #### 二、问题分析 在使用Ajax进行数据传输时,中文乱码问题通常出现在以下两个环节: 1. **发送表单数据时中文乱码**:当通过Ajax...

    java认证_Ajax中文乱码问题及解决方法.doc

    【Java认证:Ajax中文乱码问题及解决方法】 在Java Web开发中,使用Ajax进行异步数据交互时,经常会遇到中文乱码的问题。这主要涉及到字符编码的处理,特别是当Ajax请求发送的数据包含中文字符时。以下是两种常见的...

    ajax中文乱码如何解决

    针对Ajax中文乱码问题,这里提出一个解决方案,这个方案在作者的开发环境中(XP, Eclipse, GB18030编码)已经成功解决了问题: 1. **设置请求头**: 在发送POST请求前,需要设置Content-Type头,告诉服务器数据的...

    ajax提交中文乱码解决方法

    ### AJAX提交中文乱码解决方法 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript发起异步请求,与服务器进行数据交换,从而...

    ajax中文参数乱码问题解决方法

    主要解决在ajax中中文参数传递过程中,服务器接收到中文乱码的问题

    ajax中文乱码问题解决方案

    **Ajax中文乱码问题详解与解决方案** 在开发Web应用程序时,尤其是在处理中文字符时,Ajax中文乱码问题是一个常见的困扰。这是因为不同的系统、浏览器、服务器和文件可能使用不同的字符编码,导致数据在传输过程中...

    ajax乱码解决方案

    **Ajax 乱码解决方案** Ajax 乱码问题在开发Web应用程序时经常遇到,尤其是在涉及到不同编码格式时。本文将深入探讨Ajax与字符编码相关的技术细节,并提供几种有效的解决策略。 首先,JavaScript处理字符的方式是...

    c# ajax post数据乱码解决

    在开发过程中,尤其是在使用C#与ASP.NET进行Web开发时,经常会遇到客户端通过Ajax向服务器端发送Post请求后,服务器端接收到的数据出现乱码的问题。这种情况不仅影响用户体验,也可能会导致程序逻辑出现问题。本文将...

    Struts框架下Ajax发送中文乱码问题的解决

    总结来说,解决Struts框架下Ajax发送中文乱码问题的关键在于: 1. 确保Ajax请求时设置正确的`Content-Type`,以UTF-8编码发送数据。 2. 在Struts配置文件中配置`CharacterEncodingFilter`或在Action中手动设置请求...

    jquery的ajax编码乱码解决方案

    简单整理的乱码处理方案,jquery的ajax解决UTF-8以及GBK的问题

    ajax解决乱码问题

    ### 二、使用AJAX解决乱码问题的方法 #### 1. 设置正确的编码格式 在ASP.NET中,可以使用`&lt;globalization&gt;`标签在Web.config文件中设置请求和响应的编码格式。例如: ```xml requestEncoding="utf-8" ...

    Ajax乱码解决方案(docx)

    Ajax乱码问题主要涉及到字符编码的处理,包括服务器端、客户端以及文件的编码设置。解决Ajax乱码问题的关键在于确保整个数据传输链路上的编码一致性。 1. **字符编码** - **UTF-8**:广泛使用的编码格式,支持多种...

    AJAX中文乱码解决

    然而,当涉及到中文字符时,AJAX可能会遇到编码问题,导致中文显示为乱码。本教程将详细介绍如何解决AJAX中文乱码问题,以在Windows Server 2008环境下为例,但原理适用于其他操作系统。 首先,我们需要理解乱码...

    ajax到servlet乱码解决

    AJAX 到 Servlet 乱码解决方案 在 Web 开发中,使用 AJAX 通过 URL 传参数给 Servlet 时,经常会遇到乱码问题,即使使用了统一的字符编码也没用。下面我们来探讨这个问题的解决方案。 问题描述 当我们使用 AJAX ...

    struts中文乱码问题解决详细步骤

    解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...

Global site tag (gtag.js) - Google Analytics