纠结了数日,终于搞定了乱码问题,归结是tomcat配置问题,在tomcat
server.xml中有2个参数是配置编码的,一个是URIEncoding,另一个是useBodyEncodingForURI.
apache tomcat官方网站对这两个参数的解释:
URIEncoding
This specifies the character encoding used to decode the URI bytes, after %xx
decoding the URL. If not specified, ISO-8859-1 will be used.
useBodyEncodingForURI
This specifies if the encoding specified in contentType should be used for
URI query parameters, instead of using the URIEncoding. This setting is present
for compatibility with Tomcat 4.1.x, where the encoding specified in the
contentType, or explicitly set using Request.setCharacterEncoding method was
also used for the parameters from the URL. The default value is
false
.
如果http请求中,在contentType中指定了编码方式,那么将采用contentType的编码方式去解码url之后的查询参数,将忽略URIEncoding的配置.
所以在get请求时,如果contentType指定了编码方式,将会带来一定的问题(最大的问题就是,服务器端对查询字符串的编码方式无法统一),最后我决定让
useBodyEncodingForURI
参数保持默认(false):即所有的URL查询字符串的编码采用URIEncoding的参数(UTF-8),服务器端编码保持原来的统一方式.
此文档仅作总结,谢谢指教..
分享到:
相关推荐
总结来说,解决Tomcat下的中文乱码问题,关键在于确保JSP页面的编码与服务器设置一致,并在处理表单提交时正确设置请求的字符编码。在实际开发中,推荐使用UTF-8作为统一的编码标准,因为UTF-8能够兼容各种语言,...
Servlet中的乱码问题主要体现在HTTP请求和响应的过程中,具体包括: 1. **请求参数的乱码**:当用户提交表单或URL中包含中文字符时,若未设置合适的字符编码,容易导致乱码。 2. **响应数据的乱码**:服务器端返回给...
下面将详细解析GET请求乱码的原因、解决方案以及如何正确处理字符编码,确保数据传输的准确性。 ### GET请求乱码的原因 #### 1. 编码格式不一致 GET请求中的参数是通过URL传递的,而URL在传输过程中可能会被多次...
解决 POST GET 请求乱码问题 在 Web 开发中,POST 和 GET 请求可能会出现乱码问题,导致中文参数无法正确传输和解析。今天,我们将讨论如何解决 POST 和 GET 请求乱码问题。 解决 POST 请求乱码问题 在 Spring ...
要解决GET请求乱码问题,我们需要采取以下步骤: 1. **配置JSP页面**:确保JSP页面的编码设置正确。在页面头部添加`<%@ page pageEncoding="UTF-8"%>`来指定页面编码为UTF-8。同时,如果表单是以POST方式提交,确保...
在Tomcat环境下运行Web应用程序时,如果页面或请求中包含了中文字符,可能会出现乱码的情况。这种乱码现象通常是由于字符编码设置不一致导致的。Tomcat默认使用的字符集是ISO-8859-1,而大多数中文网页和文件采用的...
"Tomcat中Get和Post出现乱码的解决办法" 在 Tomcat 中,Get 和 Post 方法都可能出现乱码问题,这主要是由于编码问题引起的。在本文中,我们将详细介绍 Tomcat 中 Get 和 Post 方法出现乱码的解决办法。 一、乱码...
造成乱码的原因是tomcat对表单提交和GET请求的处理方式不同。Tomcat4和Tomcat5处理乱码的方法不同,在Tomcat5中,需要使用Filter设置字符集为GBK来解决乱码问题。 解决方法一:使用Filter设置字符集 1. 实现一个...
### WebLogic与Tomcat下载附件乱码问题解析 在企业级应用服务器的环境中,WebLogic与Tomcat都是非常常见的中间件平台。用户在使用这些平台进行文件下载时可能会遇到附件名称出现乱码的情况,这不仅影响用户体验,也...
这样,所有的HTTP请求和响应都将强制使用UTF-8编码。 6. **注意IDEA终端编码** Idea的终端也可能需要设置编码。在`Settings` > `Tools` > `Terminal`中,确保`Shell path`后面的命令行参数包含了`-Dfile.encoding...
综上所述,通过合理设置JSP页面编码、配置请求过滤器以及进行必要的编码转换,可以有效解决Tomcat环境下中文乱码的问题。在实际应用中,还需要根据具体情况选择合适的解决方案,并注意保持前后端编码的一致性。
Tomcat在接收HTTP请求时,会根据`Connector`元素的`useBodyEncodingForURI`属性和`URIEncoding`属性来确定请求参数的编码方式。默认情况下,`useBodyEncodingForURI`是false,意味着请求参数的编码会使用请求头中的`...
在Tomcat中,常见的乱码问题可能出现在HTTP请求、响应、JSP页面、日志输出等多个环节。 1. **配置服务器端字符集**: - 修改`server.xml`:Tomcat的主配置文件中,可以在`<Connector>`标签内设置`URIEncoding`属性...
Tomcat作为Apache软件基金会的一个开源Java Servlet容器,处理HTTP请求和响应时,如果字符编码设置不正确,就可能出现乱码现象。主要涉及以下几个配置点: 1. **全局配置**:在`server.xml`文件中,`Connector`元素...
在JSP中,当使用Ajax进行GET请求时,可能会遇到中文乱码的问题。这通常是由于URL编码不匹配或处理不当导致的。以下是一些解决这个问题的关键知识点和步骤: 1. **URL编码问题**: URL编码是一种标准,用于将特殊...
默认情况下,Tomcat在处理HTTP请求时,采用的是ISO-8859-1编码,这是一种只支持西欧语言的字符集。当客户端通过GET方法发送包含中文的URL参数时,这些参数会被按照ISO-8859-1编码进行解析,显然这与中文字符的编码不...
在Spring MVC框架中,处理HTTP GET请求时遇到中文乱码问题是一个常见的开发难题。这个问题主要源于请求参数在URL中编码时使用的是UTF-8以外的字符集,导致服务器接收到的参数解码后出现乱码。本文将深入探讨这个问题...
在Java Web开发中,Tomcat是一个非常常见的应用服务器,它用于部署和运行Java Servlet和JavaServer Pages(JSP)应用程序。当我们处理表单提交时,可能会遇到数据乱码的问题,尤其是在涉及非ASCII字符集(如中文、...
对于GET请求,因为URL中的参数是在HTTP请求头中以ASCII编码传输的,所以需要在服务器端读取参数时进行解码。在Servlet的`doGet`方法中,可以使用类似的方式来设置请求的字符编码,然后获取参数。 另外,确保在Web...