java web 防止中文乱码

jsp>jsp

jsp中index.jsp如果用post提交给result.jsp,那么result.jsp中先设置参数编码

<%
request.setCharacterEncoding("gbk");
%>


如果在tomcat/conf/server.xml的  <Connector port="8080" protocol="HTTP/1.1"  中添加  URIEncoding="gbk"  则可以省略  request.setCharacterEncoding("gbk");


jsp中index.jsp如果用get提交给result.jsp,那么result.jsp中需要把每个参数都转码一次
可以写一个通用方法,然后调用,核心方法是

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


如果在tomcat/conf/server.xml的  <Connector port="8080" protocol="HTTP/1.1"  中添加  URIEncoding="gbk"  ,可以直接request.getParameter("name")。但在浏览器中手写get提交时,需要设置

new String(request.getParameter("name").getBytes("gbk"),"utf-8");


jsp>servlet  和jsp>jsp一样。

需要设置response的字符串编码

response.setCharacterEncoding("gbk");
posted @ 2012-09-20 22:40  SmartDog  阅读(243)  评论(0编辑  收藏  举报