今天完成了一個用cookie記錄用戶名的功能,之前沒有考慮到用戶的用戶名如果是中文會是怎樣的影響。就在測試的時候,發現報錯,錯誤信息如下:java.lang.IllegalArgumentException: Control character in cookie value or attribute.
解決辦法:
存中文到Cookie的時候先編碼:
Cookie
cookiename = new Cookie("uname", URLEncoder.encode(uname,"utf-8"));
從Cookie讀取的時候再解碼:
String unameVal
= URLDecoder.decode(cookie.getValue(),"utf-8");