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( "非常霸道!" )
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章