中文乱码问题

要想完全解决乱码问题其实很简单
如果传值方式以GET/POST方式发送,那么需要以下几步
1:JSP/HTML页面中加入以下内容
<%@page contentType="text/html" pageEncoding="UTF-8"%>
或者
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

2:修改Tomcat的配置文件 路径 tomcat\conf\server.xml
<Connector URIEncoding="UTF-8" ....../>

如果是Tomcat 6.0 以上的版本,可以不需要第3步了
Tomcat 5.5 是需要的
3:配置过滤器
web.xml
<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>

这样配置以后,GET/POST方式都不会出现乱码了

对于 <a href="/xxx?id=中文">
这种情况其实也是可以传中文的,但是只做上面几步还不够
那么这个时候需要在服务器输出到页面的时候需要编码一下
java.net.URLEncoder.encode("中文", "UTF-8");
这样链接就会是
<a href="/xxx?id=%A6%9F%8E">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值