我在cookie中写入中文字符出现如下异常
java.lang.IllegalArgumentException
但写入英文字符时一点问题也没有,请问如何解决?

解决方案 »

  1.   

    先建立一個cookie_tw.jsp,內容如下:<%@ page import="java.net.*" contentType="text/html;charset=BIG5"%>
    <%
    Cookie cookie = new Cookie(URLEncoder.encode("中文"),
    URLEncoder.encode("許攻績蓋"));response.addCookie(cookie);
    %>再來建立讀取cookie的檔案叫做rcookie_tw.jsp:<%@ page import="java.net.*" contentType="text/html;charset=BIG5"%>
    <%
    Cookie rcookie[] = request.getCookies();
    if (rcookie == null)
    out.print("讀不到cookie");
    else
    {
    for (int i = 0; i < rcookie.length; i++)
    {
    if (URLDecoder.decode(rcookie[i].getName()).equals("中文"))
    {
    out.print(URLDecoder.decode(rcookie[i].getName()) +
    URLDecoder.decode(rcookie[i].getValue()));
    }
    }
    }
    %>
      

  2.   

    先编码,再存
    URLEncoder.encode(str)
    先取出,再解码
    URLDecoder.decode(str)