由于ajax数据发送数据编码方式为UTF-8,所以在发送传送汉字是会出现乱码。
解决方法:
(1)jsp页面
例
var text=document.getElement("text");
text=escape(escape(text));
text 为传送的汉字,escape为javascript自带编码函数
(2)获取数据的后台java代码
- public static String unescape(String src)
- {
-
StringBuffer tmp = new StringBuffer();
- tmp.ensureCapacity(src.length());
-
int lastPos=0,pos=0;
-
char ch;
-
while (lastPos<src.length())
- {
-
pos = src.indexOf("%",lastPos);
-
if (pos == lastPos)
- {
-
if (src.charAt(pos+1)=='u')
- {
-
ch = (char)Integer.parseInt(src.substring(pos+2,pos+6),16);
- tmp.append(ch);
-
lastPos = pos+6;
- }
-
else
- {
-
ch = (char)Integer.parseInt(src.substring(pos+1,pos+3),16);
- tmp.append(ch);
-
lastPos = pos+3;
- }
- }
-
else
- {
-
if (pos == -1)
- {
- tmp.append(src.substring(lastPos));
- lastPos=src.length();
- }
-
else
- {
- tmp.append(src.substring(lastPos,pos));
- lastPos=pos;
- }
- }
- }
-
return tmp.toString();
- }
public static String unescape(String src)
{
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos=0,pos=0;
char ch;
while (lastPos<src.length())
{
pos = src.indexOf("%",lastPos);
if (pos == lastPos)
{
if (src.charAt(pos+1)=='u')
{
ch = (char)Integer.parseInt(src.substring(pos+2,pos+6),16);
tmp.append(ch);
lastPos = pos+6;
}
else
{
ch = (char)Integer.parseInt(src.substring(pos+1,pos+3),16);
tmp.append(ch);
lastPos = pos+3;
}
}
else
{
if (pos == -1)
{
tmp.append(src.substring(lastPos));
lastPos=src.length();
}
else
{
tmp.append(src.substring(lastPos,pos));
lastPos=pos;
}
}
}
return tmp.toString();
}
unescape 用于解码
使用 String str=unescape(request.getParameter("text"));
http://shaojiashuai123456.iteye.com/blog/410619
分享到:
相关推荐
**Ajax 乱码解决方案** Ajax 乱码问题在开发Web应用程序时经常遇到,尤其是在涉及到不同编码格式时。本文将深入探讨Ajax与字符编码相关的技术细节,并提供几种有效的解决策略。 首先,JavaScript处理字符的方式是...
在探讨AJAX乱码解决之道前,我们首先来了解一下几种常见的编码格式: - **UTF-8**:全球最广泛使用的编码格式之一,支持所有语言文字,包括中文,采用变长字节表示,具有良好的跨平台兼容性和高容错性。 - **GBK**...
"ajax乱码解决办法"这个主题正是针对这类问题提供解决方案。 首先,我们需要理解Ajax请求中的乱码问题通常源于以下几个方面: 1. **服务器编码设置**:服务器返回的数据可能是以特定的字符编码格式(如GBK或UTF-8...
### Ajax乱码解决方案 在进行Ajax开发的过程中,经常会遇到数据编码问题导致的乱码现象。这类问题虽然看似简单,但若处理不当,则可能耗费大量时间进行调试与解决。本文将结合一个具体的案例来探讨如何有效地解决...
【Struts和Ajax乱码解决方案】 在Web开发中,乱码问题始终是一个常见的困扰,特别是对于使用Struts和Ajax技术的开发者来说。乱码问题主要出现在数据的输入、传输和展示过程中,涉及到编码格式的选择和一致性。以下...
Ajax乱码问题主要涉及到字符编码的处理,包括服务器端、客户端以及文件的编码设置。解决Ajax乱码问题的关键在于确保整个数据传输链路上的编码一致性。 1. **字符编码** - **UTF-8**:广泛使用的编码格式,支持多种...
本文将深入探讨Ajax乱码问题的成因及其解决方案。 首先,我们需要了解JavaScript和Unicode的关系。JavaScript内部处理字符时,采用的是Unicode编码,这是一种包含几乎全球所有语言字符的通用编码标准。而UTF-8是一...
本文将详细探讨Ajax乱码的产生原因以及解决方案。 ### 一、乱码产生的原因 1. **服务器端编码不一致**:如果服务器返回的数据编码格式与客户端(浏览器)的预期编码不同,就会产生乱码。例如,服务器返回UTF-8编码...
本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**:服务器与客户端(浏览器)之间使用的字符编码格式不同,例如服务器使用GBK编码,而浏览器使用UTF-8编码...
AJAX 到 Servlet 乱码解决方案 在 Web 开发中,使用 AJAX 通过 URL 传参数给 Servlet 时,经常会遇到乱码问题,即使使用了统一的字符编码也没用。下面我们来探讨这个问题的解决方案。 问题描述 当我们使用 AJAX ...
### Ajax乱码问题详解 #### 一、Ajax乱码概述 在使用Ajax技术进行前后端交互的过程中,常常会遇到字符编码的问题,特别是当涉及到中文或其他非ASCII字符时,容易出现乱码现象。根据题目中的描述,“Ajax乱码:当...
一、解决Ajax乱码问题 Ajax发送和接收数据时,乱码问题主要出现在两个环节:发送请求时的数据编码和服务器返回数据的解码。以下是解决乱码的关键步骤: 1. 数据编码:在发送Ajax请求前,确保你的数据已经正确编码...
本文将详细讲解如何解决C# Ajax Post数据乱码问题。 ### 一、理解问题根源 首先,我们需要了解为什么会出现乱码的情况。这通常是因为客户端和服务器端对于字符编码的理解不一致所导致的。具体来说,如果客户端使用...
### AJAX乱码问题及新解决方法 #### 一、引言 随着Web技术的发展,AJAX(Asynchronous JavaScript and XML)作为一种重要的前端技术被广泛应用于动态网页开发中。然而,在实际应用过程中,开发者经常会遇到一个棘手...
简单整理的乱码处理方案,jquery的ajax解决UTF-8以及GBK的问题
### AJAX提交中文乱码解决方法 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript发起异步请求,与服务器进行数据交换,从而...
首先,我们需要理解Ajax乱码的根源。当JavaScript发送HTTP请求时,如果服务器和客户端之间关于字符编码的约定不一致,就会导致乱码。常见的原因包括: 1. **请求头设置不正确**:Ajax请求默认使用UTF-8编码,但...
### AJAX解决中文乱码(Java/JSP) #### 知识点概述 在Web开发中,尤其是在使用Java与JSP技术栈进行开发时,经常会遇到的一个问题是:如何处理AJAX请求中的中文字符乱码问题。本篇文章将详细介绍如何通过前端编码...
在本文中,我们将深入探讨如何解决使用Ajax进行POST请求时出现的中文乱码问题。首先,我们要理解Ajax中文乱码的根源,它通常涉及到字符编码的不一致,尤其是在客户端与服务器之间的通信过程中。 Ajax(Asynchronous...
### jQuery + ASP AJAX 中文乱码问题解决方案 在开发基于jQuery和ASP的Web应用程序时,中文乱码问题可能成为困扰开发者的一大难题。特别是在使用Ajax进行前后端数据交互时,中文字符可能会出现乱码现象,影响用户...