返回顶部

收藏

Jsp中存取Cookie的“中文”问题解决方法

更多

Cookie是个好东西,我们时常会利用它来为我们的程序提供一些方便。可是Jsp中却存在不能使用中文Cookie名的问题,一旦使用了中文的名字程序就会报错,内 容则会成为乱码,问题已经出现了,原因呢?根据RFC 2109中的规定,在Cookie中只能包含ASCII的编码,难怪总是出现错误或者乱码,知道问题的所在就好解决拉,转换一下编码试试:

test.jsp

<%
//一个有中文内容的Cookie
String str = "我们都有一个家,名字叫中国!";
Cookie cookie = new Cookie("name", URLEncoder.encode(str, "UTF-8"));
response.addCookie(cookie);

//取出Cookie中的中文内容
Cookie [] cookies = request.getCookies();
String str = "";
for(int i=0;i<cookies.length;i++){ 
    if(cookies[i].getName().equals("name")) {
        str = cookies[i].getValue();
    }
}
out.println(URLDecoder.decode(str, "UTF-8"));
%>

标签:Cookie,编码,RFC2109,JSP

收藏

0人收藏

支持

0

反对

0

发表评论