jsp解决中文乱码

来源:互联网 发布:osi网络通信模型 编辑:程序博客网 时间:2024/05/17 06:47
本来想转,后来转了发现没法编辑,所以,恩,Ctrl+c en Ctrl+v了 
原文链接 http://blog.sina.com.cn/s/blog_4b5bc01101016987.html

获取中文参数是乱码

 

1. 接受参数直接设置

 

Java代码  
  1. request.setCharacterEncoding("gb2312");  

  

2.使用URLDecoder解码字符串  
 
Java代码  
  1. String queryStr java.net.URLDecoder.decode(rawQueryStr "gbk"   

 

3.获取请求参数值之后对请求参数值重新编码。也就是先将其转换成字节数组,再将字节数组重新解码成字符串。
Java代码  
  1.    
  2.   
  3. //获取原始的请求参数值   
  4. String rawName request.getParameter("name");   
  5.   
  6. //将请求参数值使用ISO-8859-1字符串分解成字节数组   
  7. byte[] rawBytes rawName.getBytes("ISO-8859-1");   
  8.   
  9. //将字节数组重新解码成字符串   
  10. String name new String(rawBytes "gb2312");  
 
返回时是乱码
Java代码  
  1. response.setContentType("text/html;charset=UTF-8");// 在这里设置就不会出现乱码了!  
Java代码  
  1. response.getWriter().write( "非常霸道!" )   
String titleName=newString(request.getParameter("titleName").getBytes("iso-8859-1"),"utf-8");