背景:request.getParameter()总得到中文乱码
分析:tomcat默认用的字符编码是iso- 8859-1,而jsp页面用的编码是utf-8。所以jsp页面的中文字符是以utf-8的编码模式被转化成字节流的,但是到了后台确实通过iso-8859-1编码被还原的,所以乱码产生了。情形如下:
jsp页面:byte[] a=key.getBytes("utf-8");
controller:String b=new String(a,"iso-8859-1");
这样request.getParameter();获得的b就是乱码了。
解决:
1、找到\apache-tomcat-6.0.26\conf\server.xml文件中的如下代码
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/>
加入URLEncoding="utf-8"
将url的编码设置为utf-8
2、加入useBodyEncodingForURI="trur"
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" useBodyEncodingForURI="true"/>
与前面的保持一致。如果页面是gbk那么他就是gbk。
在tomcat5.x之后,get和post的编码格式分开了,这个适用于get请求,post请求可以用过滤器来实现。
相关推荐
总结来说,解决Tomcat下的中文乱码问题,关键在于确保JSP页面的编码与服务器设置一致,并在处理表单提交时正确设置请求的字符编码。在实际开发中,推荐使用UTF-8作为统一的编码标准,因为UTF-8能够兼容各种语言,...
1. **请求参数的乱码**:当用户提交表单或URL中包含中文字符时,若未设置合适的字符编码,容易导致乱码。 2. **响应数据的乱码**:服务器端返回给客户端的数据若编码设置不当,也会出现乱码问题。 ##### 3.2 解决...
在Tomcat环境下运行Web应用程序时,如果页面或请求中包含了中文字符,可能会出现乱码的情况。这种乱码现象通常是由于字符编码设置不一致导致的。Tomcat默认使用的字符集是ISO-8859-1,而大多数中文网页和文件采用的...
造成乱码的原因是tomcat对表单提交和GET请求的处理方式不同。Tomcat4和Tomcat5处理乱码的方法不同,在Tomcat5中,需要使用Filter设置字符集为GBK来解决乱码问题。 解决方法一:使用Filter设置字符集 1. 实现一个...
在使用IntelliJ IDEA(简称Idea)开发Java Web项目并使用Tomcat作为应用服务器时,有时会遇到控制台输出乱码的问题。这主要是因为字符编码设置不正确导致的。以下是一些解决Idea启动Tomcat项目时控制台乱码问题的...
在使用Apache Tomcat服务器的过程中,有时会遇到中文乱码的问题,这主要表现为在日志输出、控制台打印或者Web应用中的请求参数、响应内容显示不正常,出现问号或者其他非中文字符。这个问题通常是由于字符编码设置不...
- 对于Tomcat等服务器,可以在服务器配置中设置默认编码,以确保所有请求都以特定的字符集(如UTF-8)解析。这通常涉及修改服务器的`server.xml` 文件,设置`URIEncoding` 属性,例如:`...
综上所述,通过合理设置JSP页面编码、配置请求过滤器以及进行必要的编码转换,可以有效解决Tomcat环境下中文乱码的问题。在实际应用中,还需要根据具体情况选择合适的解决方案,并注意保持前后端编码的一致性。
- 配置`context.xml`:对于特定的Web应用,可以在`META-INF/context.xml`中设置`<Context>`元素的`useBodyEncodingForURI`属性为`true`,这样请求体的编码将用于URL解码。 2. **JSP页面设置**: - 在每个JSP页面...
Tomcat作为Apache软件基金会的一个开源Java Servlet容器,处理HTTP请求和响应时,如果字符编码设置不正确,就可能出现乱码现象。主要涉及以下几个配置点: 1. **全局配置**:在`server.xml`文件中,`Connector`元素...
在本篇文章中,我们将深入探讨如何解决Struts + Hibernate + MyEclipse + Tomcat + MySQL环境中出现的乱码问题。该问题通常出现在处理中文字符时,由于编码设置不当导致中文显示为乱码或无法正常读取。为了确保系统...
在Java Web开发中,Tomcat是一个非常常见的应用服务器,它用于部署和运行Java Servlet和JavaServer Pages(JSP)应用程序。当我们处理表单提交时,可能会遇到数据乱码的问题,尤其是在涉及非ASCII字符集(如中文、...
本文主要讨论如何解决Tomcat在处理GET提交请求时出现的乱码问题。 首先,我们要明白GET请求与POST请求的区别。GET请求通常用于获取资源,而POST请求则用于向服务器发送数据。对于POST请求,Spring框架提供了`...
在IT领域,尤其是在Java开发中,GET请求的乱码问题是开发者经常会遇到的一个难题。这个问题主要源于字符编码的不一致,特别是在处理中文或者其他非英文字符时更为显著。下面将详细解析GET请求乱码的原因、解决方案...
### 解决Tomcat中文乱码问题的详尽指南 在Java Web开发中,尤其是在使用Apache Tomcat服务器时,中文乱码问题是开发者常遇到的难题之一。本文将详细解析如何在Tomcat环境中解决中文乱码问题,确保中文字符的正确...
### Tomcat乱码问题及其终极解决方案 在使用Tomcat服务器部署Web应用时,字符编码问题时常困扰着开发者,尤其是在处理中文或特殊字符时,页面显示出现乱码是常见的现象。本文将深入探讨Tomcat乱码问题的原因,并...
表单提交(无论是GET还是POST方法)时,Tomcat服务器默认使用ISO-8859-1编码处理请求参数,这可能导致中文字符乱码。 - **POST处理** 对于POST提交的表单,可以通过创建一个Servlet过滤器(Filter)来解决乱码...
### Tomcat中request.getParameter出现乱码的问题解析及解决方法 #### 一、问题背景与现象描述 在Java Web开发过程中,经常会遇到通过`HttpServletRequest`对象的`getParameter`方法获取前端表单提交的数据时出现...
解决 POST GET 请求乱码问题 在 Web 开发中,POST 和 GET 请求可能会出现乱码问题,导致中文参数无法正确传输和解析。今天,我们将讨论如何解决 POST 和 GET 请求乱码问题。 解决 POST 请求乱码问题 在 Spring ...