Java Url请求方式中文乱码有关问题解决方法

Java Url请求方式中文乱码问题解决办法

jsp中post方式请求一般不会乱码,如果乱码加上这句:
解决办法一


request.setCharacterEncoding("utf-8");
而get方式请求,若url含非西欧编码必然会乱码,处理方式:

request.setCharacterEncoding("utf-8");

//将请求参数使用ISO-8859-1分解成字节数组,再将字节数组解码成字符串

String name = new String(request.getParamet("name").getBytes("ISO-8859-1"),"utf-8");

 

解决办法二

java.net.URLEncoder.encode()传送字符编码


 面贴一下解决这个问题参考的文章:

使用java.net.URLEncoder.encode()可以对要传递的中文进行编码

a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
取值时用语句java.net.URLDecoder.decode(param);再转回中文
b.在你的Tomcat目录-->conf目录-->server.xml里找出这段:
  <Connector
          port="8080"  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443(www.111cn.net)" acceptCount="100"
                debug="0" connectionTimeout="20000"
                disableUploadTimeout="true"
 <!--在里边加上这个参数-->
URIEncoding="gb2312" />from:http://www.111cn.net/jsp/Java/46848.htm