tomcat7中cookie寫入中文引發Control character in cookie value or attribute異常


原因是有關中文編碼的問題,中文采用的是unicode編碼,而英文采用的是ASCII編碼,所以當COOkie保存中文的時候需要對中文進行編碼,
而且從Cookie中取出內容的時候也要進行解碼,編碼和解碼可以使用
public static void CreateCookie(String username,HttpServletRequest req,HttpServletResponse resp,int sec) throws Exception{
		String encode = URLEncoder.encode(username,"UTF-8");
		Cookie usercookie=new Cookie("userKey", encode);
		String encode1=URLEncoder.encode( md5Encrypt(username),"UTF-8");//對字體進行編碼
		Cookie ssidcookie=new Cookie("ssid", encode1);
		
		usercookie.setMaxAge(sec);
		ssidcookie.setMaxAge(sec);
		resp.addCookie(usercookie);
		resp.addCookie(ssidcookie);
		
		
		
	}
	

  

	if(cookie.getName().equals("userKey")){
		account=URLDecoder.decode(cookie.getValue(),"utf-8");//對字體進行解碼
					
	}
	if(cookie.getName().equals("ssid")){
		ssid=URLDecoder.decode(cookie.getValue(),"utf-8"); 
					
	}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM