jsp中文乱码问题

获取中文参数是乱码

 

1. 接受参数直接设置

 

Java代码 复制代码 收藏代码
  1. request.setCharacterEncoding("gb2312");  
request.setCharacterEncoding("gb2312");

  

2.使用URLDecoder解码字符串  
 
Java代码 复制代码 收藏代码
  1. String queryStr = java.net.URLDecoder.decode(rawQueryStr , "gbk")    
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");  
 

//获取原始的请求参数值 
String rawName = request.getParameter("name"); 

//将请求参数值使用ISO-8859-1字符串分解成字节数组 
byte[] rawBytes = rawName.getBytes("ISO-8859-1"); 

//将字节数组重新解码成字符串 
String name = new String(rawBytes , "gb2312");
 
返回时是乱码
Java代码 复制代码 收藏代码
  1. response.setContentType("text/html;charset=UTF-8");// 在这里设置就不会出现乱码了!  
response.setContentType("text/html;charset=UTF-8");// 在这里设置就不会出现乱码了!
Java代码 复制代码 收藏代码
  1. response.getWriter().write( "非常霸道!" )
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章