Java--GET、POST及JSP中文乱码

一、问题

Java开发当中,经常遇到中文乱码问题,一般分为GET请求中文乱码、POST请求中文乱码、JSP页面中文乱码。

二、解决办法

2.1 POST请求中文乱码

这个情况,解决办法最简单,在WEB-INF/web.xml中配置utf-8编码过滤器

<!-- 配置post请求编码过滤器,统一设置为utf-8 -->
<filter>
	<filter-name>encodingFilter</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>encodingFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

2.2 GET请求中文乱码

Tomcat/conf/server.xml中添加URIEncoding="UTF-8"

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>

如果上述2种方法都没有配置,也可以直接在java代码当中实现中文参数的编码格式转换,这里有一段给大家贴一段代码

String name=request.getParameter("name");
name=new String(name.getBytes("iso8859-1"),"utf-8");

PS:Java代码说明

1.默认所有的GET请求先去采用Tomat配置的编码格式;
2.Tomcat没有配置编码格式,则默认是iso8859-1编码格式,这时候后台程序代码才需要通过以上Java代码转换参数编码格式为utf-8;
3.Tomcat已经配置utf-8编码格式,就不需要再进行转码了。重复UTF-8转UTF-8,也会造成乱码。
4.此段代码学习,可参考这位同志的博文了解了解  http://blog.csdn.net/xingshen100/article/details/13614009

 

2.3 JSP界面中文乱码

只需要在每一个jsp文件开头,添加以下代码

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾日三省贾斯汀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值