Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
добрый день, коллеги))
Такой вопрос по кодировке:

в веб проекте jsp созданы объекты jsp и html;
проекту, jsp-файлу и html-файлу можно установить кодировку содержимого;
кодировка всех трех объектов utf-8;
но почему-то при запуске проекта в html-файлах русские буквы отображаются кракозябрами

Изменение кодировки html-файлов на cp1251 решает проблему. Почему так происходит? Ведь кодировка всего проекта юникод и в исходниках русские буквы отображаются норм
8 ноя 18, 09:37    [21727720]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 14723
Korcar,
надо не проекту кодировку ставить,. а в самом файле задавать
8 ноя 18, 09:54    [21727741]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
вадя
Korcar,
надо не проекту кодировку ставить,. а в самом файле задавать

в самом html-файле в тэге meta кодировка задана тоже юникодовская, а директива page в html-файле не задается, она просто не отрабатывает, выводится текстом
8 ноя 18, 11:19    [21727878]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 14723
Korcar,

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>

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

у меня так
8 ноя 18, 12:28    [21728001]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 7156
Korcar
....
Изменение кодировки html-файлов на cp1251 решает проблему. Почему так происходит? Ведь кодировка всего проекта юникод и в исходниках русские буквы отображаются норм

HTML никакого отношения к проекту на Java не имеет. Это просто текстовые файлы.

Кодировка html должна быть такая, какую хочет HTTP сервер, который Вы используете для деплоя/запуска приложения.
Apache, Apache Tomcat, Weblogic и так далее.
Я бы смотрел, что на HTTP-сервере настроено. Возможно там какие нибудь умные фильтры, которые сами выполняют перекодировку файлов при отдаче клиенту.
8 ноя 18, 13:20    [21728060]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
qasta
Member

Откуда:
Сообщений: 41
Korcar,

Вот в этой статье всё описано - http://www.skipy.ru/technics/encodings_webapp.html
Очень рекомендую к прочтению. Кодировку прописать в одном месте для веб-приложения не достаточно.
8 ноя 18, 13:56    [21728114]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
вадя
Korcar,

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>

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

у меня так

у тебя это написано в jsp-файле или в html-файле?
8 ноя 18, 14:21    [21728159]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
Leonid Kudryavtsev
Korcar
....
Изменение кодировки html-файлов на cp1251 решает проблему. Почему так происходит? Ведь кодировка всего проекта юникод и в исходниках русские буквы отображаются норм

HTML никакого отношения к проекту на Java не имеет. Это просто текстовые файлы.

Кодировка html должна быть такая, какую хочет HTTP сервер, который Вы используете для деплоя/запуска приложения.
Apache, Apache Tomcat, Weblogic и так далее.
Я бы смотрел, что на HTTP-сервере настроено. Возможно там какие нибудь умные фильтры, которые сами выполняют перекодировку файлов при отдаче клиенту.

все настройки выставлены по умолчанию и не менялись
8 ноя 18, 14:22    [21728161]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
qasta
Korcar,

Вот в этой статье всё описано - http://www.skipy.ru/technics/encodings_webapp.html
Очень рекомендую к прочтению. Кодировку прописать в одном месте для веб-приложения не достаточно.

прочитал от корки до корки, благодарствую за инфу. Было очень познавательно, но ответа на мой вопрос там нет, к сожалению должен это признать
8 ноя 18, 14:40    [21728197]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 7156
Korcar
Изменение кодировки html-файлов на cp1251 решает проблему.

Korcar
все настройки выставлены по умолчанию и не менялись

по умолчанию в чем.... ну значит по умолчанию хочет 1251... ну так и дайте ему 1251
В чем проблема?
8 ноя 18, 14:44    [21728207]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
Leonid Kudryavtsev
Korcar
Изменение кодировки html-файлов на cp1251 решает проблему.

Korcar
все настройки выставлены по умолчанию и не менялись

по умолчанию в чем.... ну значит по умолчанию хочет 1251... ну так и дайте ему 1251
В чем проблема?

изменение кодировки html-файла на 1251 - подразумевалось изменение кодировки в настройках этого файла: ПКМ -> Properties -> Text File Encoding

и апач это дело хавает, хотя у проекта и Jsp-файлов кодировка выставлена в UTF-8
8 ноя 18, 14:48    [21728219]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 7156
Korcar
Почему так происходит?

HTML-файлоы - это просто ФАЙЛЫ

JSP и Java проект - это JAVA

Кодировка и обработка одного, к обработке другого, никакого отношения не имеет

HTML - обрабатывает HTTP сервер (или что там у Вас вместо него), JSP/Java classes - обрабатывает Java Runtime.

Обычно, "голый" HTTP сервер просто берет файл и отдает его клиенту, байт за байтой. Но сейчас много серверов "больно умных" где по умолчанию вполне могли фильтры-перекодировщики врубить. И для них, как раз, может быть важно что бы кодировка файла совпадала с настройками в HTTP-сервере (или с кодировкой в ОС).

Какой софт Вы используете и как он у Вас настроен - это из данной темы не ясно.

IMHO возможно ошибаюсь
8 ноя 18, 14:59    [21728247]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
Leonid Kudryavtsev
Korcar
Почему так происходит?

HTML-файлоы - это просто ФАЙЛЫ

JSP и Java проект - это JAVA

Кодировка и обработка одного, к обработке другого, никакого отношения не имеет

HTML - обрабатывает HTTP сервер (или что там у Вас вместо него), JSP/Java classes - обрабатывает Java Runtime.


всё это мне уже ИЗВЕСТНО.

полагаешь заноза в настройках сервака? ну так там настройки все по умолчанию. выходит сервер не читатель настроек, выставленных в проекте или проект ему эти настройки не передаёт. всегда хочется получить разу ответ: почему и без всяких гвоздей)
8 ноя 18, 15:04    [21728260]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
qasta
Member

Откуда:
Сообщений: 41
Korcar,

1) В какой кодировке ваши html файлы?
2) Какой используете сервер приложений, что он присылает клиенту в заголовках?
3) Что прописано в meta внутри html файла?

Без конкретного ответа на все вышестоящие вопросы помочь вам больше нечем.
Для JSP файлов добавляется вопрос: 4) что прописано в директивах <%@ page в исходниках?

Все сервера обычно отдают статичные файлы "как есть" - то есть потоком байт, без раскодирования.
Так что вам надо прописать внутри html файла meta tag.

Также сервер иногда может указывать кодировку после MIME типа в content-type.
Это надо проверить в консоли браузера (доступна по F12 обычно) - в панели Network проверить заголовки ответа.
Кто из кодировок будет приоритетнее (в заголовке ответа сервера или внутри html файла) - я не скажу.
8 ноя 18, 15:24    [21728301]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 14723
Korcar
у тебя это написано в jsp-файле или в html-файле?
первая строка только для jsp
прописывается, эта
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
для браузера, но тоже в jsp пишется , и в html
8 ноя 18, 15:37    [21728320]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1062
может просто воспользоваться фильтром?
http://www.cyberforum.ru/java-j2ee/thread1559479.html
8 ноя 18, 15:42    [21728328]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 14723
Korcar,

когда я отдаю чистую html страницу (она у меня читается из файла и хранится в памяти в виде строки PAGE_LOGIN в синглтоне)
делаю так
@Override
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {

               resp.setContentType("text/html;charset=UTF-8");  

                try (PrintWriter out = resp.getWriter()) {
                    out.write(PAGE_LOGIN);
                    out.flush();
                }
            
8 ноя 18, 15:52    [21728339]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
qasta
Korcar,

1) В какой кодировке ваши html файлы?

Korcar
проекту, jsp-файлу и html-файлу можно установить кодировку содержимого;
кодировка всех трех объектов utf-8;



qasta
2) Какой используете сервер приложений, что он присылает клиенту в заголовках?

Korcar
и апач это дело хавает



qasta
3) Что прописано в meta внутри html файла?

Korcar
в самом html-файле в тэге meta кодировка задана тоже юникодовская



qasta
Без конкретного ответа на все вышестоящие вопросы помочь вам больше нечем.
Для JSP файлов добавляется вопрос: 4) что прописано в директивах <%@ page в исходниках?

без ответов ответа быть не может, да согласен.
Вопрос в html-файлах, а не в jsp-файлах. В jsp-файлах все ок с кодировкой. В каждом jsp-файле прописан page с юникодом как для отображения/написания в IDE, так и с юникодом для отображения пользователю

qasta
Все сервера обычно отдают статичные файлы "как есть" - то есть потоком байт, без раскодирования.
Так что вам надо прописать внутри html файла meta tag.

сервер отдает статичные файлы. да. в этом и вопрос: для разных объектов кодировку обрабатывает по разному: правильно и неправильно, хотя ему в двух местах, минимум, указали правильную

qasta
Также сервер иногда может указывать кодировку после MIME типа в content-type.
Это надо проверить в консоли браузера (доступна по F12 обычно) - в панели Network проверить заголовки ответа.
Кто из кодировок будет приоритетнее (в заголовке ответа сервера или внутри html файла) - я не скажу.

mime - это почтовое сообщение что ли? чего там в консоли можно увидеть, если там уже результат?
9 ноя 18, 07:55    [21728980]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
вадя
Korcar
у тебя это написано в jsp-файле или в html-файле?
первая строка только для jsp
прописывается, эта
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
для браузера, но тоже в jsp пишется , и в html

вот в том и дело, что page прописывается только для jsp-файлов и он у меня прописан, а для html-файлов, мне так думается, придумали настройку кодировки и она тоже выставлена в юникод. Хотя настройка эта наверняка используется в среде для разработки, а не для передачи пользователю

Музаффар
может просто воспользоваться фильтром?
http://www.cyberforum.ru/java-j2ee/thread1559479.html

да читал, говорят помогает, но блин, такие заморочки ради того, чтобы в html юникод показать ... это ж чесание левой пяткой правое ухо. хотелось быстрого и простого решения, этого всегда хочется)
9 ноя 18, 07:59    [21728982]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35321
Korcar
хотелось быстрого и простого решения,
у меня профиле сайт демка. Там русская кодировка. Работает.
9 ноя 18, 08:04    [21728983]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
Petro123
Korcar
хотелось быстрого и простого решения,
у меня профиле сайт демка. Там русская кодировка. Работает.

безумно рад за тебя. подозревал, что это можно сделать и где-то оно уже работает. теперь вернемся к сути вопроса: как?)
9 ноя 18, 09:05    [21729000]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1062
[Korcar автор]да читал, говорят помогает, но блин, такие заморочки ради того, чтобы в html юникод показать ... это ж чесание левой пяткой правое ухо. хотелось быстрого и простого решения, этого всегда хочется) [/quote]
хм... вроде как такой подход решает проблему и с выводом так и с вводом данных...
9 ноя 18, 09:12    [21729007]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 14723
Korcar
а для html-файлов, мне так думается, придумали настройку кодировки и она тоже выставлена в юникод. Хотя настройка эта наверняка используется в среде для разработки, а не для передачи пользователю
я ж показал что надо устанавливать для передачи html
resp.setContentType("text/html;charset=UTF-8");
9 ноя 18, 09:16    [21729010]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Korcar
Member

Откуда:
Сообщений: 7410
вадя
Korcar
а для html-файлов, мне так думается, придумали настройку кодировки и она тоже выставлена в юникод. Хотя настройка эта наверняка используется в среде для разработки, а не для передачи пользователю
я ж показал что надо устанавливать для передачи html
resp.setContentType("text/html;charset=UTF-8");

ааа. Петя - это твой клон? ну не знал я, что с меня взять. Не хотел через фильтры делать, но если уж совсем никак иначе, то пойду делать
9 ноя 18, 09:33    [21729020]     Ответить | Цитировать Сообщить модератору
 Re: JSP кодировка html файлов  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35321
Korcar,
Ты перепутал форум и справочник. Тебе дают варианты для тупых с русской кодировкой, если не осилил utf.
9 ноя 18, 09:44    [21729024]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Java Ответить