我在servlet中设置Cookie,其值是中文的,如何在页面 通过JS读取cookie 不是乱码?
public Cookie setMsgCookie(String name, String value, String domain) {
domain = domain.substring(domain.indexOf("."));
Cookie cookie = new Cookie(name, value);
cookie.setMaxAge(43200);
cookie.setPath("/");
cookie.setDomain(domain);
return cookie;
}JS
function getCookie (name){ //获取Cookie
     var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr !=null) return unescape(arr[2]); return null;     
}

解决方案 »

  1.   

    我所有的都用的是utf-8的编码
      

  2.   

    public Cookie setMsgCookie(String name, String value, String domain) {
    domain = domain.substring(domain.indexOf("."));
    Cookie cookie = new Cookie(name, java.net.URLEncoder.encode(value, "UTF-8"));
    cookie.setMaxAge(43200);
    cookie.setPath("/");
    cookie.setDomain(domain);
    return cookie;
    }JS
    function getCookie (name){ //获取Cookie
         var arr = document.cookie.match(new RegExp("(^ ¦ )"+name+"=([^;]*)(; ¦$)"));
         if(arr !=null) return decodeURIComponent(arr[2]); return null;     
    }