最近研究ajax,在界面上text中输入中文,发送出去后返回乱码。经过一个晚上的测试,以及得到满意答案,代码如下:
HTML:
//实际上这里的charset=utf-8 也是可以的,因为在中文平台下
//用了GB2312
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
JS:
我用了两个方法提交:GET 和 POST。
在服务器端要对应不同的提交方式转换不同的编码。
……
//要传递的参数
var queryString = "firstName=" + firstName + "&lastName=" + lastName
+ "&birthday=" + birthday; function
//GET方式提交
doRequestUsingGET() {
createXMLHttpRequest();
var url = "GetAndPostExample?" + queryString + "&timeStamp="
+ new Date().getTime();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
//POST方式提交
function doRequestUsingPOST() {
createXMLHttpRequest();
var url = "GetAndPostExample?timeStamp=" + new Date().getTime();
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.send(queryString);
}
servlet:
response.setContentType("text/xml");
//这个一定要设置,这里的设置应该跟HTML中的一样,但是我在这里
//用了 uft-8, 结果也是一样。
response.setCharacterEncoding("GB2312");
//当用POST方法时,一定要设置成utf-8,否则乱码
String firstName = new String(request.getParameter("firstName").getBytes("ISO-8859-1"), "utf-8");
//当用GET方法时,要设置成GB2312,否则乱码。
String lastName = new String(request.getParameter("lastName").getBytes("ISO-8859-1"), "GB2312");
测试结果:
因为界面上两个控件firstName 和 lastName都输入中文。
接收xmlHttp.responseText后,会发现其中一个为乱码,一个可以正常显示中文。
分享到:
相关推荐
AJAX 到 Servlet 乱码解决方案 在 Web 开发中,使用 AJAX 通过 URL 传参数给 Servlet 时,经常会遇到乱码问题,即使使用了统一的字符编码也没用。下面我们来探讨这个问题的解决方案。 问题描述 当我们使用 AJAX ...
**Ajax 乱码解决方案** Ajax 乱码问题在开发Web应用程序时经常遇到,尤其是在涉及到不同编码格式时。本文将深入探讨Ajax与字符编码相关的技术细节,并提供几种有效的解决策略。 首先,JavaScript处理字符的方式是...
### Servlet + Tomcat 中文乱码问题解析及解决方案 #### 一、中文乱码问题概述 在使用Servlet和Tomcat进行Web开发时,经常会遇到中文乱码的问题。这主要是因为客户端(如浏览器)与服务器之间使用的字符编码不一致...
**Ajax中文乱码问题详解与解决方案** 在开发Web应用程序时,尤其是在处理中文字符时,Ajax中文乱码问题是一个常见的困扰。这是因为不同的系统、浏览器、服务器和文件可能使用不同的字符编码,导致数据在传输过程中...
这个解决方案可以直接应用于数据库插入、页面传递或 Servlet 中,解决了中文乱码问题。 首先,让我们了解什么是中文乱码问题。在中文计算机系统中,中文字符是使用 Unicode 编码来表示的。然而,在一些老旧的系统中...
【Struts和Ajax乱码解决方案】 在Web开发中,乱码问题始终是一个常见的困扰,特别是对于使用Struts和Ajax技术的开发者来说。乱码问题主要出现在数据的输入、传输和展示过程中,涉及到编码格式的选择和一致性。以下...
在这个"ajax+jsp+servlet 中文解决方法"的示例中,开发者遇到了在使用Ajax进行数据交互时中文乱码的问题。中文乱码通常是由字符编码不一致导致的,特别是在跨平台或跨浏览器通信时。以下是一些关于如何解决这个问题...
以下是对这个问题的详细解析和解决方案: 1. **浏览器差异**: - **Internet Explorer (IE)**:IE 的URI提交方式存在一些特殊性,它对URI进行了一定的压缩,这可能导致UTF-8编码在IE下出现问题。为了解决这个问题...
综上所述,解决JSP中Ajax GET请求的中文乱码问题需要从服务器配置、Servlet处理、JSP页面编码和Ajax请求等多个角度综合考虑,并进行相应的调整。通过这些步骤,可以有效地避免并解决中文乱码问题,保证数据传输的...
### Ajax乱码问题详解 #### 一、Ajax乱码概述 在使用Ajax技术进行前后端交互的过程中,常常会遇到字符编码的问题,特别是当涉及到中文或其他非ASCII字符时,容易出现乱码现象。根据题目中的描述,“Ajax乱码:当...
在开发过程中,Ajax(异步JavaScript和XML)技术常常用于实现网页的无刷新交互,但与之相伴的一个常见问题是中文乱码。以下是一些解决Ajax中文乱码问题的方法: 1. **请求头设置**: 当发送Ajax请求时,需要确保...
在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的问题:即通过Ajax发送带有中文字符的数据时,后端接收到的数据出现乱码现象。...
Extjs Ajax乱码问题的出现通常与字符编码的不一致有关,无论是在客户端提交到服务器的数据还是服务器返回给客户端的数据中都可能出现乱码。解决此问题通常需要对编码过程和开发环境进行细致的调整。 首先,了解乱码...
### AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题 #### 背景与问题概述 在使用AJAX技术进行前后端数据交互时,经常会出现中文字符编码的问题,尤其是在使用`XMLHttpRequest`对象发送请求的过程中。例如...
### AJAX中文乱码解决方案 在Web开发中,尤其是使用AJAX技术进行前后端交互时,中文乱码问题是一个常见的挑战。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的...
### 解决AJAX请求中的中文乱码问题 在进行Web开发的过程中,经常遇到的一个问题是中文字符的编码问题,尤其是在使用AJAX技术时。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,...
在Web开发中,中文乱码问题是一个常见的困扰,尤其是在JavaScript和Ajax交互时。本文将详细介绍如何解决这类问题,确保中文字符在JavaScript和Ajax通信中正确显示。 首先,我们需要理解中文乱码产生的原因。乱码...
在使用AJAX进行数据请求时,尤其是在处理中文字符的过程中,经常会遇到一个常见问题:即通过AJAX请求得到的`responseText`中的中文字符出现乱码。这个问题主要是由于客户端(即浏览器)与服务器端在处理数据编码方式...
本文将围绕“AJAX乱码”这一主题进行深入探讨,旨在帮助开发者理解乱码产生的原因,并提供有效的解决方案。 #### 二、AJAX乱码概述 在AJAX通信过程中,服务器端与客户端之间通过HTTP协议交换数据。当客户端接收到...