**
解决JavaWeb的中文乱码
**
在日常的Java项目开发中,乱码成了程序员必经的一道坎。
乱码的缘故很好理解,就是编码格式和解码格式不一致,JVM在编译的时候是由于 Web 容器使用了ISO-8859-1的编码格式,所以在 Web 应用的业务处理中也会使用ISO-8859-1的编码格式,虽然浏览器提交的请求的使用的是中文编码格式UTF-8,但是经过业务处理中的ISO-8859-1编码,仍然会出现中文乱码现象。乱码也是日常开发中很常见,例如:
测试结果:
那么如何解决这么一个乱码的问题呢?其实很简单,只需要在web.xml加上一个过滤器就行,具体操作如下:
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
到这一步,已经完成了百分之九十;剩下的百分之十就只需在controller的方法加上一段网页编码编译的格式就好了,网页编码编译:response.setContentType("text/html;charset=utf-8")
例如:
@RequestMapping("/returnVoid")
public void returnVoid(PrintWriter writer, HttpServletResponse response){
response.setContentType("text/html;charset=utf-8");
writer.write("qs测试乱码");
}
到了这一步,算是完成了,下面就是执行结果了:
去试试吧,你也可以的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)