1、url的乱码的处理
(1) 对传递过来的参数进行处理 例如:http://xxx.do?name='中国人'
String strPtname = request.getParameter("ptname");
strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");
(2) 在传递参数之前就进行处理
<%@ page contentType="text/html;charset=gb2312" %>
<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%>">点击这里</a>
(3)利用过滤进行处理,在web.xml进行配置
设置server.xml中的Connector熟悉URIEncoding="UTF-8",确保解码格式与编码格式统一
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>
edu.sdau.yangjinpeng.filter.SetCharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(4)利用函数进行处理
public String chinatoString(String str)
{
String s=str;
try
{
byte tempB[]=s.getBytes("ISO-8859-1");
s=new String(tempB);
return s;
}
catch(Exception e)
{
return s;
}
}