powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Русская кодировка в сервлетах Tomcat
10 сообщений из 10, страница 1 из 1
Русская кодировка в сервлетах Tomcat
    #37852145
Stalker333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю в Eclipse 3.7.2 под Tomcat 7.0.25
Вот сервлет:

public class EncodingTest extends HttpServlet {
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setCharacterEncoding ("utf-8");
PrintWriter out = res.getWriter ();
out.println ("<html><body>");
out.println ("Русский Текст...");
out.println ("</body></html>");
}
}

Я ничего не могу понять с выводом русского текста...
У получающегося HTML стоит правильная кодировка (utf-8)
Однако, на экране сплошные ? и/или !

При этом:
1. Сам файл набран тоже в utf-8
2. res.setContentType("text/html; charset=utf-8"); - не помогает
3. res.setCharacterEncoding("utf-8"); - не помогает
4. META-тег с charset - аналогично

Помогите, кто чем может!
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852454
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker333Сам файл набран тоже в utf-8он может быть скомпилирован с указанием компилятору, что кодировка файла такая-то. или какая-то по умолчанию. не?
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852466
Stalker333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще-то, это Eclipse.
Может быть, где-то в дебрях его настроек
такая возможность и существует, но я туда точно не лазил.
Если ты имел ввиду опцию компиляции -encoding,
то она не помогает.
Дело в том, что у одного мужика была такая же проблема,
и он перепробовал абсолютно все,
пока не понял, что сам текст у него набран в другой кодировке.
Но у меня это точно не так!!!
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852489
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
res.setCharacterEncoding ("utf-8") - должно помочь, просто это надо вынести в фильтр, дело в том, что у вас скорее всего уже кто-то установил encoding(посмотрите кстати в дебаггере), а если уже кто-то установил, то res.setCharacterEncoding ("utf-8") - не имеет силы, так что желательно поставьте фильтр первым.
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852557
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, странное дело. Дельный совет дать не могу, только рекомендации из опыта.
1. Проверь jsp. Первые 2 строки:
<?xml version="1.0" encoding="UTF-8"?>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
2. Тэг в заголовке:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3. Ересь, конечно, но никогда не юзал "utf-8", исключительно "UTF-8".
4. CharacterEncoding вряд ли поможет, а вот ContentType должен:
response.setHeader("Content-Type", "text/html; charset=UTF-8");
5. Использовать для вывода в поток не println, а write.
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852565
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И чтобы железобетонно :) отправить юникод, "заточить" поток:
PrintWriter out = new PrintWriter(new OutputStreamWriter(res.getOutputStream(), "UTF8"), true);
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852640
Stalker333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, дело действительно странное.
По порядку:
0. Перехват фильтром м.б. поможет, но уж больно не хочется, поэтому не пробовал.
1. У меня сервлет, а не JSP. (Кстати в JSP все прекрасно!!??!!!)
2.Meta-тег не помогает, я об этом сразу написал.
3.UTF-8?????????
4.Content-Type тоже пробовал, и тоже сразу об этом написал,
только не setHeader(...), а addHeader(...)
5.write не помогло

6.PrintWriter out = new PrintWriter(new OutputStreamWriter(res.getOutputStream(), "UTF8"), true);
Сработало!!!!!
Огромное спасибо!!!!
Ну и бред.
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852645
JavaPhpLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для начала проверить, как в JSP вывзодится
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852654
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker333У меня сервлет, а не JSP. (Кстати в JSP все прекрасно!!??!!!)
Он вроде так и сказал.
Другое дело, что до сих пор не было упоминаний, что поток между сервлетами, а не на страницу. Хотя это может и не иметь никаких следствий (неохота задумываться над этим), но все же ... почему-то кажется, что разница все-таки есть.
...
Рейтинг: 0 / 0
Русская кодировка в сервлетах Tomcat
    #37852858
milton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker333,

В настройках проекта Eclipse указывается кодировка, в которой сохраняются файлы после редактирования (по умолчанию латинская ISO). Точно в какой группе настроек не помню, т.к. один раз поменял в WIndows->Preference и больше не вспоминал.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Русская кодировка в сервлетах Tomcat
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]