jsp中文乱码问题

获取中文参数是乱码

 

1. 接受参数直接设置

 

request.setCharacterEncoding("gb2312");

  

2.使用URLDecoder解码字符串  
 
String queryStr = java.net.URLDecoder.decode(rawQueryStr , "gbk")  

 

3.获取请求参数值之后对请求参数值重新编码。也就是先将其转换成字节数组,再将字节数组重新解码成字符串。
 

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

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

//将字节数组重新解码成字符串 
String name = new String(rawBytes , "gb2312");
 
返回时是乱码
response.setContentType("text/html;charset=UTF-8");// 在这里设置就不会出现乱码了!
 response.getWriter().write( "非常霸道!" )    
  

你可能感兴趣的:(jsp,中文乱码)