Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > windows-1251 feat utf-8 на tomcat 6


Автор: Egik2 3.10.2010, 09:42
Приветствую всех.

В проекте используется следующий механизм.
Сервлет на томкате делает http запрос на удаленный веб-сервер, который возвращает ему в ответ XML документ с кодировкой win-1251.
Дальше парсю документ сервлетом и формирую jsp страницу со строкой, кодировка JSP- UTF-8.

Теперь в чем проблема:

Тестовый томкат на винде - все пашет как надо.

Пром на линуксе - это строка полученная в 1251  отображается некорректно, то есть вопросиками.

Пробывал играться с 
Код

response.setCharacterEncoding("windows-1251")

 - все то же, на винде работает на линухе нет. (поначалу кодировка вообще была iso-8859).
Пытался в сервлете делать преобразование 
Код

myString = new String(win1251String.getBytes("windows-1251"), "UTF-8")
 - кракозябрица вообще везде появляется.

Прошу помощи, может кто, такое уже видел. 

Автор: Старовъръ 3.10.2010, 12:01
http://javatalks.ru/faq2.php?cid=7

Автор: Egik2 3.10.2010, 13:33
Здесь немного другая ситуация - никаких GET запросов нет,данные не вводятся пользователем, а берутся с удаленного сервера с кодировкой windows-1251.
томкат никак их не контролирует, поэтому настройка сервера отпадает сразу.

4 пункт я и так применяю, ничего не получается.

Кроме того это не объясняет, почему на windows работает, а на linux нет.

Автор: Vasay 3.10.2010, 13:50
Egik2, 

как запрос делаете к xml сервису?

Сокеты? URLConnection? 

Например, если через URLConnection, нужно указать кодировку:
Код

String encoding = "UTF-8";
input =  urlConnect.getInputStream();
BufferedReader br = new BufferedReader(
                    new InputStreamReader(input, encoding));


Добавлено через 1 минуту и 47 секунд
В вашем случае - "Cp1251"

Автор: Egik2 3.10.2010, 15:54
Помогло. Огромное спасибо.
А зависимость от ОС была я думаю из-за системной кодировки.
Винда по умолчанию воспринимала как cp1251, поэтому с ней проблем не было.

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