在web开发下一直使用的filter进行转码的。
request.setCharacterEncoding("utf-8");
不过今天我想在传递url?role=角色将中文作为附带信息进行下一页面的显示。
发现传递之后一直是乱码。
必须用new String(request.getParameter("role").getBytes("iso-8859-1"),"utf-8")
进行转换。
原来tomcat在处理get和post请求的时候处理方式不同。
POST请求是将参数存放在请求数据包的消息体中
所以使用request.setCharacterEncoding("utf-8");可以处理
但是GET请求是将参数存放在url中,此时setCharacterEncoding就不起作用了,此时我们需要采用手写代码进行转码。
当然我们也可以修改tomcat配置文件来处理get请求的转码
conf\server.xml
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
/>
分享到:
相关推荐
在Struts2的各个版本和不同过滤器设置下,GET方式提交的中文乱码问题仍然存在。一种可行的解决方案是在Tomcat服务器的配置文件`server.xml`中,修改`<Connector>`标签,添加`URIEncoding="UTF-8"`属性。这将强制...
在开发Java Web应用时,尤其是在处理包含中文字符的请求时,可能会遇到中文乱码的问题。解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP中文乱码的详细步骤: 1. **配置web.xml文件*...
Java 中文乱码问题是一个常见的编程困扰,尤其对于处理中文字符的Java程序而言。这个问题通常源于字符编码的不一致,即不同环节采用的字符编码标准不统一。本文将深入探讨这一问题,并提供相应的解决方案。 首先,...
综上所述,解决JAVA Web中的中文乱码问题,关键在于理解和控制各个环节的字符编码,从请求到响应,再到文件处理和数据库操作,每个步骤都不能忽视。理解并熟练应用这些知识,将有助于构建能够正确处理中文的JAVA Web...
同时,解决中文问题不仅需要在Tomcat配置上做工作,还需要关注整个开发链路中的编码一致性,从源代码到数据库,再到客户端展示,每个环节都不能忽视。通过以上详细说明,希望有助于理解和解决你在使用Tomcat过程中...
在开发基于Java的Web应用程序时,常常会遇到中文字符编码的问题,尤其是在Tomcat服务器、MySQL数据库和Struts框架的组合中。这个问题主要涉及到字符集的兼容性和一致性,因为每个环节都可能有自己的默认编码方式,...
在Java Web开发中,中文乱码是一个常见的问题,特别是在处理包含中文字符的JSP页面、HTTP请求参数等场景。以下是一些关于Java处理中文乱码的关键知识点: 1. **JSP页面中文乱码**: 当JSP页面需要正确显示中文字符...
Web服务器(如Tomcat)的POST和GET请求默认编码可能不一致,导致客户端和服务器间的数据解码错误。IE浏览器和服务器间的编码不匹配也是常见的乱码源。 ##### 2.3 数据库操作 在数据库层面,若表设计、字段类型、...
在实际应用中,乱码过滤类可以作为过滤器(Filter)集成到Web应用中,根据HTTP请求和响应的生命周期进行操作。例如,在Spring MVC中,可以自定义一个Filter实现`javax.servlet.Filter`接口,重写`doFilter`方法,对...
这种情况通常发生在需要显示中文或其他非ASCII字符的情况下。本篇文章将深入探讨该问题的原因,并提供一系列解决方案。 #### 代码示例分析 在给定的代码片段中,可以看到以下关键信息: ```html ${pageContext....
在Tomcat的`server.xml`中,`Connector`元素的`URIEncoding`属性用于指定HTTP请求的URI编码,默认可能是UTF-8,可以将其设置为GBK,如下所示: ```xml ``` 此外,确保数据库连接也使用了正确的字符集,例如在...