读书人

J2EE网页乱码GET跟Post

发布时间: 2014-06-07 16:38:06 作者: rapoo

J2EE网页乱码GET和Post

一、post提交方式乱码

form表单中已post方式提交(tomcat服务器),需要做到编码统一,这里统一utf-8

1、jsp页面设置编码格式

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

2、设置servlet中的编码格式

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");

或者设置过滤器

         public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {// TODO Auto-generated method stub    arg1.setCharacterEncoding("UTF-8");arg0.setCharacterEncoding("UTF-8");arg2.doFilter(arg0, arg1);}


3、统一tomcat服务器编码

apache-tomcat-6.0.18——conf——server.xml

<Connector URIEncoding="utf-8"
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

这三步基本上就解决post提交方式的乱码,通过request.getParameter获取汉字

二、get提交方式乱码

方法一:(在java文件中更改)(我试过)

通过request.getParameter获取数据后,用iso-8859-1的编码将其转化成byte数组,在new一个String对象,参数1:byte数组,参数2:编码方式

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

方法二:

encodeURI方法

decodeURI方法

方法三:java中

java.net.URLDecoder.decode方法

java.net.URLEncoder.encode方法


读书人网 >操作系统

热点推荐