默认情况下,Tomcat对请求采用的默认编码是ISO-8859-1, 这样我们提交的汉字被认为是ISO-8859-1的编码,所以在程序中接收时显示乱码 。 在过滤器中调用request.setCharacterEncoding("GBK"),那么Post上来的汉字将被认为是GBK编码,而 Tomcat5对于Get请求上来的编码并不根据过滤器的设定辨认编码方式,默认的依然是ISO-8859-1,所以,即使你的页面使用默认的编码方式进 行编码,然后使用ISO-8859-1进行解码,得到的结果也不对 。
解决方法:
在TOMCAT中的conf/server.xml中的<Connector中添加两个设置
useBodyEncodingForURI="true" //设置POST和GET使用相同编码
URIEncoding="UTF-8" //对URI使用utf-8编码处理
可以用String提供的编码转化测试,请求的参数值:
name = new String(name.getBytes("ISO8859-1"),"UTF-8").trim();
以上转自:http://blog.csdn.net/cuker919/article/details/6107469
更新:
post方式即使象上面那样配置,还是有一些问题。在客户端把发送的post请求设为utf-8,服务端还是要转成ISO-8859-1的比特流,然后再转成utf-8才不会乱码。代码如下:
client:
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(),"utf-8");
out.write("&city=安庆");
或者
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write("&city="+URLEncoder.encode("安庆","utf-8"));
sever:
request.setCharacterEncoding("UTF-8");
或者
String city = new String(request.getParameter("city").getBytes("ISO-8859-1"),"utf-8");
分享到:
相关推荐
"Tomcat中Get和Post出现乱码...Tomcat 中 Get 和 Post 方法出现的乱码问题是一种常见的问题,但可以通过设置编码方式或使用特殊的方法来解决。理解 Tomcat 对于 GET 和 POST 方法的编码处理方式是解决这个问题的关键。
今天,我们将讨论如何解决 POST 和 GET 请求乱码问题。 解决 POST 请求乱码问题 在 Spring 框架中,我们可以使用 CharacterEncodingFilter 来解决 POST 请求乱码问题。在 web.xml 文件中,我们可以添加以下配置: ...
本文主要讨论如何解决Tomcat在处理GET提交请求时出现的乱码问题。 首先,我们要明白GET请求与POST请求的区别。GET请求通常用于获取资源,而POST请求则用于向服务器发送数据。对于POST请求,Spring框架提供了`...
Java中的乱码问题是一个常见的编程挑战,特别是在处理网络请求(如GET和POST)时。本文将深入探讨如何解决这些问题,并且不局限于特定的请求类型。首先,我们需要理解字符编码的基本概念,然后分析Java中可能出现...
Tomcat和WebLogic中文乱码问题解决方案 在 Java Web 开发中,中文乱码问题一直是困扰开发者的主要问题之一。 Tomcat 和 WebLogic 是两个常用的 web 服务器,都是支持 Servlet 和 JSP 的。然而,在使用这些服务器时...
本文将详细介绍如何完美解决GET和POST请求中的中文乱码问题。 首先,我们来理解GET和POST请求的区别。GET请求通常用于获取资源,其请求参数会附加到URL后面,以问号(?)分隔,多个参数之间用&符号连接。而POST请求...
本文将深入探讨如何在Tomcat环境下正确地处理POST与GET请求中的中文字符,帮助开发者更好地理解和解决相关问题。 #### 一、理解中文字符编码 在讨论具体的解决方案之前,首先需要了解几个基本概念: 1. **Unicode...
这主要涉及两个方面:JSP页面显示中文乱码和表单提交乱码。为了解决这些问题,我们需要理解字符编码的基本原理,并采取相应的配置和编程策略。 1)JSP页面中显示中文乱码: 当JSP页面需要正确地显示中文字符时,...
总结,解决Spring MVC中GET请求中文乱码问题的关键在于确保从客户端到服务器再到客户端的整个链路中,字符编码的一致性和正确设置。通过调整配置、使用注解或自定义拦截器,可以有效地解决这个问题,确保中文数据的...
在本文中,我们将详细介绍乱码问题的原因、类型和解决方法。 一、编码不一致的原因 编码不一致是乱码问题的主要原因。编码不一致可能出现在多个方面: * 页面编码:jsp 默认 iso8859-1 * 服务器编码:tomcat 默认...
通过上述步骤,无论用户提交的数据是以GET还是POST方式发送的,都能正确地以GBK编码进行解码,从而避免乱码问题。 #### 三、额外处理 对于某些特殊情况,如直接从数据库中读取中文数据时也可能遇到乱码问题。此时...
总结,解决Spring MVC中的POST和GET请求中文乱码问题,关键在于确保整个系统从客户端到服务器端的字符编码一致性,包括过滤器、控制器参数、表单提交以及服务器配置等。遵循以上步骤,可以有效避免中文乱码的出现。...
但在 tomcat4.1 版本没有问题,因为 tomcat4.1 的 post 和 get 方法在处理编码时是一样的。 三、表单提交中文时出现乱码 JSP 页面采用表单提交时,提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:...
### 解决Tomcat中文乱码问题的详尽指南 ...以上步骤和技巧覆盖了在Tomcat环境下处理中文乱码的主要场景,遵循这些建议可以有效避免或解决中文乱码问题,确保中文字符在Web应用中的正确展示和处理。
2. **POST乱码问题**: POST请求的乱码通常发生在请求参数从客户端发送到服务器的过程中。尽管在Struts.xml中设置了字符编码,但在2.1.6之前的版本中,这个设置可能不适用于POST数据。解决方法是更新Struts2到2.1....
以下是一些解决Java POST与GET数据传递时中文乱码问题的方法。 1. **POST数据传递**: 在接收POST数据的JSP页面中,我们需要确保两个关键点: - **声明页面字符集**:`<%@ page pageEncoding="UTF-8"%>` 这行...
Tomcat中文乱码处理方法是指在使用Tomcat服务器时,遇到中文乱码问题的解决方法。中文乱码是指在网页中显示的中文字符被错误地显示为乱码,影响用户体验和网站的可读性。 第一种解决方法是通过contentType、...
下面我们将深入探讨如何解决J2EE环境下GET和POST方式提交表单时出现的乱码问题。 首先,我们要理解GET和POST的区别。GET方式会将表单数据附加到URL后面,而POST方式则将数据放在请求体中。由于GET方式的限制,它...
在Java开发中,遇到中文乱码问题是一种常见的挑战,特别是在处理URL时。URL中文乱码问题主要是由于URL编码和解码过程中的不一致导致的。...通过上述方法,可以有效地避免和解决URL中文乱码的问题。