tomcat5中,为了保证get数据采用UTF8编码,在server.xml中进行了如下设置:
<Connector port="8080" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" enableLookups="false" redirectPort="8443"
acceptCount="100" debug="99" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>
这里指定了get时候的数据编码。但是,当使用IIS作为webserver转发servlet/jsp请求给Tomcat时候,这个设置却失效了。其实原因很简单:IIS是通过AJP协议,把请求转发到Tomcat监听的8009端口上的,所以这里针对8080的设置自然就无效了。正确的方法是进行下面的设置:
<Connector port="8009" enableLookups="false" redirectPort="8443"
debug="0" protocol="AJP/1.3" URIEncoding="UTF-8"/>
========================================================================================
Tomcat 6.0
路径:Tomcat 6.0\conf\server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
========================================================================================
问题解决办法:
1)修改server.xml,在connector标签中增加URIEncoding="gb2312"
2)对url编码
java.net.URLEncoder.encode( url );
注意:url的起始如果非中文如 "/test/中文/中国.jsp"
则应该写成"/test/" + java.net.URLEncoder.encode( "中文/中国.jsp" );
意思是只对中文编码,但是 "中文/中国.jsp"中的"/"没有问题
文献出处:http://blog.sina.com.cn/s/blog_454fbf740100hyat.html
分享到:
相关推荐
Ubuntu下使用Tomcat搭建网站出现中文乱码的问题 在 Ubuntu 操作系统下使用 Tomcat 搭建网站时,可能会出现中文乱码的问题。这是由于字符集的不统一所致。为了解决这个问题,需要统一服务器的字符编码,包括 Linux ...
- 在Tomcat的`conf/server.xml`文件中找到`Connector`元素,添加`URIEncoding="UTF-8"`属性来指定URL的编码方式。 ```xml connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> ``` - 在`...
在部署基于Java的应用程序时,我们经常会遇到中文乱码的问题,尤其是在使用Apache Tomcat作为Web服务器的情况下。本文将详细介绍如何在Tomcat中正确配置以实现中文字符的正常显示。 #### 一、理解MIME Mapping与...
Apache Tomcat 8.0.33 是一个广泛使用的开源软件,主要作为Java Servlet和JavaServer Pages(JSP)的容器。它实现了Java EE(现在称为Jakarta EE)Web应用程序的轻量级部分,特别是Servlet和JSP规范。在本描述中,...
除了使用Filter外,还可以直接在Tomcat的配置文件`server.xml`中设置字符编码,以解决GET方式提交数据时出现的乱码问题。具体步骤如下: 1. **定位Connector元素**: - 找到`server.xml`中的`<Connector>`元素,该...
我们可以在该元素中设置 URIEncoding 属性,以指定 Tomcat 的字符编码。例如: ```xml <Connector URIEncoding="UTF-8" /> ``` 这样,我们就可以将 Tomcat 的字符编码设置为 UTF-8。 二、过滤器中的字符编码设置 ...
总结,解决Tomcat5中的中文问题,关键在于统一请求处理的字符编码,并确保服务器端和客户端的编码一致。通过上述两种方法,可以有效地解决POST和GET请求的中文乱码问题,实现中文数据的正常显示。
修改的方式是在Tomcat的`Server.xml`配置文件中的`<Connector>`元素下添加或修改`URIEncoding`属性。 ##### 步骤一:定位`Server.xml` 首先,需要找到Tomcat安装目录下的`conf`目录,其中包含了`Server.xml`配置...
- 修改`server.xml`中的`URIEncoding`参数为`UTF-8`: ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> ``` 通过以上步骤,可以...
对于GET数据和URL数据,可以在Tomcat配置文件server.xml的Connector标签中设置useBodyEncodingForURI为true,或者设置URIEncoding为提交数据的网页编码。例如: 第三种解决方法是解决response.sendRedirect中文乱码...
为了解决GET请求中的中文乱码问题,可以在Tomcat的`server.xml`配置文件中设置`URIEncoding="UTF-8"`,这样Tomcat在解析URL时会使用UTF-8编码。 3. **POST请求的乱码处理**: POST请求的参数通过HTTP请求体传递,...
例如,在JSP中使用`;charset=GBK"%>`,或者在Servlet中使用`response.setContentType("text/html;charset=GBK")`。 - 针对Web应用中的静态资源(如HTML、CSS、JavaScript文件),确保文件头部`<meta>`标签指定了...
通常,字符编码分为两种:页面编码(如HTML或JavaScript中的charset属性)和服务器编码(如Tomcat的URIEncoding配置)。当这两者不一致时,就可能出现乱码。 在配置方面,确保所有页面的charset设置为UTF-8,这是...
在IT行业中,Tomcat是一个广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范。本文将详细介绍如何在Tomcat服务器上将HTTP转换为更安全的HTTPS协议。 首先,为了实现HTTPS,我们需要一个数字证书,...
3. **动态设置响应编码**:在代码中使用`response.setCharacterEncoding("UTF-8")`。 这些设置确保了页面内容将以正确的编码格式输出到客户端。 #### 二、POST数据接收 对于POST请求中的中文数据,需要在接收数据...
在部署Java Web应用程序时,经常使用Apache Tomcat作为应用服务器。然而,在高并发或大数据量处理的应用场景下,Tomcat可能会出现内存溢出等问题。为了提升Tomcat的稳定性和性能,合理地设置其启动参数变得尤为重要...
在 Tomcat 5.0 目录下的 conf-->server.xml 添加代码 URIEncoding="GBK",以便指定 Tomcat 5.0 的编码格式为 GBK。这将确保 Tomcat 5.0 正确地处理中文字符。 Step 3: 指定 Tomcat 5.0 的 JDK 环境 在 Eclipse 中...
在 Tomcat 中,我们可以设置字符集以支持中文字符。我们可以在 server.xml 文件中添加以下配置: <Connector URIEncoding="utf-8" .../> 这将设置 Tomcat 的字符集为 UTF-8,以支持中文字符。 启动和关闭 Tomcat ...