Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Не могу создать cookie с русскими символами.


Автор: bio_hazard 17.10.2007, 12:14
Создаю cookie в jsp следущим кодом (использую netbeans 5.5.1)
Код


Cookie cook = new Cookie("name","ИВАН");
        cook.setMaxAge(365*24*60*60);
        response.addCookie(cook);


потом считываю ее и вывожу в поток браузера

Код


for(int i=0;i<cookies.length;i++)
            {
                if(cookies[i].getName().equals("name"))
                {
                    myCookie=cookies[i];
                    break;
                }
}

out.print(myCookie.getValue());



Проблемма в том если в куки русские буквы то ничего не выводится на экран, английские символы отображаются отлично.В браузере смотрел созданную мной куку, когда русские буквы там квадратики, с английскими соответсвенно все ок.

Страница jsp использует utf-8
Код

<head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>


java и tomcat как я понимаю тоже используют utf-8, почему возникают проблеммы с кодировкой ?

Автор: bio_hazard 18.10.2007, 07:43
Решил вроде сам проблемму покопался на разных форумах вот решение
Значение которое я хочу поместить в куку нужно обработать классом URLEncoder методом encode.
А когда она понадобится считать ее и обработать значение URLDecoder методом decode

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)