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");