
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.06.2012, 14:41:28
|
|||
|---|---|---|---|
|
|||
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
Работаю в 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 - аналогично Помогите, кто чем может! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2012, 21:19:45
|
|||
|---|---|---|---|
|
|||
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
Stalker333Сам файл набран тоже в utf-8он может быть скомпилирован с указанием компилятору, что кодировка файла такая-то. или какая-то по умолчанию. не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2012, 21:32:16
|
|||
|---|---|---|---|
|
|||
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
Вообще-то, это Eclipse. Может быть, где-то в дебрях его настроек такая возможность и существует, но я туда точно не лазил. Если ты имел ввиду опцию компиляции -encoding, то она не помогает. Дело в том, что у одного мужика была такая же проблема, и он перепробовал абсолютно все, пока не понял, что сам текст у него набран в другой кодировке. Но у меня это точно не так!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2012, 21:55:48
|
|||
|---|---|---|---|
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
res.setCharacterEncoding ("utf-8") - должно помочь, просто это надо вынести в фильтр, дело в том, что у вас скорее всего уже кто-то установил encoding(посмотрите кстати в дебаггере), а если уже кто-то установил, то res.setCharacterEncoding ("utf-8") - не имеет силы, так что желательно поставьте фильтр первым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2012, 23:07:01
|
|||
|---|---|---|---|
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
Да, странное дело. Дельный совет дать не могу, только рекомендации из опыта. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.06.2012, 23:14:45
|
|||
|---|---|---|---|
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
И чтобы железобетонно :) отправить юникод, "заточить" поток: PrintWriter out = new PrintWriter(new OutputStreamWriter(res.getOutputStream(), "UTF8"), true); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.06.2012, 01:16:20
|
|||
|---|---|---|---|
|
|||
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
Да, дело действительно странное. По порядку: 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); Сработало!!!!! Огромное спасибо!!!! Ну и бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.06.2012, 01:41:51
|
|||
|---|---|---|---|
|
|||
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
для начала проверить, как в JSP вывзодится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.06.2012, 02:20:20
|
|||
|---|---|---|---|
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
Stalker333У меня сервлет, а не JSP. (Кстати в JSP все прекрасно!!??!!!) Он вроде так и сказал. Другое дело, что до сих пор не было упоминаний, что поток между сервлетами, а не на страницу. Хотя это может и не иметь никаких следствий (неохота задумываться над этим), но все же ... почему-то кажется, что разница все-таки есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.06.2012, 10:27:01
|
|||
|---|---|---|---|
Русская кодировка в сервлетах Tomcat |
|||
|
#18+
Stalker333, В настройках проекта Eclipse указывается кодировка, в которой сохраняются файлы после редактирования (по умолчанию латинская ISO). Точно в какой группе настроек не помню, т.к. один раз поменял в WIndows->Preference и больше не вспоминал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2131488]: |
0ms |
get settings: |
12ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
42ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 309ms |
| total: | 468ms |

| 0 / 0 |
