JSP 中文乱码问题解决

详解JSP页面编码与数据传输中的中文处理
本文深入探讨了JSP页面在编码设置、数据请求方式、请求参数处理、数据库连接、Servlet过滤器及跳转页面时的中文处理方法。包括设置页面编码、GET请求中文显示问题解决、POST请求正确获取中文、数据库连接字符集设定、配置Tomcat服务器以支持中文、使用URLEncoder编码中文字符以及避免使用GET方式提交中文数据等关键技巧。
1、通过设置page指令的pageEncoding="UTF-8"属性,来设置jsp文件的保存编码。


2、通过设置page指令的contentType="text/html; charset=UTF-8"属性,来设置浏览器解析本页面的默认编码。


3、对于POST请求的数据,可以在所有的request.getXxx()方法被调用前,设置request.setCharacterEncoding("UTF-8");可以取到正常的中文。


4、Get方式请求的数据,默认情况下无法解析为正常的汉字,需要修改TomCat的配置文件。打开TOMCAT_HOME/conf/server.xml文件,找到区块
<Connector port="8080" protocol="HTTP/1.1" ... />
在其中添加属性 URIEncoding="UTF-8",变为
<Connector port="8080" protocol="HTTP/1.1" ... URIEncoding="UTF-8" />
重启Tomcat后,就可以正常访问汉字了。


5、使用response.sendRedirect()方法跳转页面时如果要传递中文字符,需要调用
java.net.URLEncoder.encode()方法对中文先编码。比如:
response.sendRedirect("./aa.jsp?a="+URLEncoder.encode("爱上对方", "UTF-8"));


6、在建立数据库连接时,可以在连接字符串后跟上指定的字符编码。如:"jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF8"。


7、也可以在mysql的配置文件my.ini中的[mysqld]中增加 default-character-set=UTF8。


8、使用Servlet过滤器进行编码的过滤。


9、尽量减少用Get方式提交中文。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值