Jump to content
Модераторы форума - Assembler & Bercana
  • Откройте аккаунт на Диспуте за 5 минут

    Продаете недвижимость, машину, телефон, одежду?  Тысячи  просмотров ежедневно на dispute.az  помогут вам. Бесплатная доска обьявлений.

Кодировка В Jsp, Help


dll

Recommended Posts

Добрый день, добрые кодеры. нужна помощь, долго программирую на Java SE, но программировал на маке, по работе пришлось временно перейти на JSP и Java EE6, но когда создается файл *.jsp, то выходят проблемы с русским шрифтом. расскажу процесс. надо настроить локализацию через fmt:setLocale который берет английские слова из labels_en.properties и русские из labels_ru.properties.

IDE: Eclipse for Java EE developers for Windows x86

OS: Windows 7 Ru, x86

кодировка по умолчанию в эклипсе CP-1251

файлы по умолчанию создает на ISO-8859-1, поэтому файл lables_ru.properties вынужденно перевел в UTF-8, иначе русские буквы не выходили

при создании файлы *.jsp внутри кодировка следующая

xml version="1.0" encoding="ISO-8859-1"

page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"

meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"

перепробовал многое, но как сделать так, где поменять что, чтоб при выходе нормально показывались русские буквы и русский шрифт. желательно, чтоб был UTF-8. в разных местах менял кодировки на UTF-8, но никак не помогает. может я что то не так делаю. спасибо за помощь

Link to comment
Share on other sites

Установите во всех файлах utf-8. Убедитесь, в том, что редактор действительно сохраняет файлы в utf-8. Судя по всему, он вам постоянно пытается навязать ISO-8859-1, посмотрите его настройки, наверняка где-то будет.

Link to comment
Share on other sites

Установите во всех файлах utf-8. Убедитесь, в том, что редактор действительно сохраняет файлы в utf-8. Судя по всему, он вам постоянно пытается навязать ISO-8859-1, посмотрите его настройки, наверняка где-то будет.

вот именно, поменял по умолчанию создание файлов, чтоб файлы JSP и properties создавались на UTF-8, сделал вот тут:

Preferences->General->Content Type->Java Properties File-> *.properties установил в UTF-8

Preferences->General->Content Type->JSP-> *.jsp установил в UTF-8

Preferences->General->Content Type->JSP->JSP Tag Definition - все файлы в UTF-8

Preferences->Web->JSP Files->ISO10646/Unicode(UTF-8)

вроде бы везде все поменял и в декларациях ставлю UTF-8, но ни в какую. намертво каракули выходит, но если сам ручным способом меняю кодировку браузера на UTF-8, то сразу все показывает. никак не могу понять. кстати Eclipse версии 3.7 Indigo

Link to comment
Share on other sites

Возможно веб-сервак ставит Content-Type: text/html; charset=ISO-8859-1 и это переопределяет кодировку файлов для вашего браузера. Посмотрите в браузере какие заголовки приходят.

Link to comment
Share on other sites

Возможно веб-сервак ставит Content-Type: text/html; charset=ISO-8859-1 и это переопределяет кодировку файлов для вашего браузера. Посмотрите в браузере какие заголовки приходят.

в смысле заголовки? у меня томкат стоит, там тоже поменял на ютф-8, дело в том, что когда пишу в сам файл JSP то русский шрифт нормально выходит, но вот то, что он должен читать из lables_ru.properties он выводит как каракули. и да, кое что заметил только что, когда перевожу кодировку lables_ru.properties в ISO-8859-1, то там когда пытаюсь писать на русском языке, вместо букв выходят шестнадцатеричные кода этих русских букв(например слово ПРИВЕТ как \u043F\u0440\u0438\u0432\u0435\u0442) и тогда в браузере все нормально показывается. как же все сложно с этими кодировками(((((

Link to comment
Share on other sites

это я для опыта перевожу. вот например если labels_ru.properties перевести в ISO, то русский шрифт в нем показывается в виде шестнадцатеричной системы, зато в браузере нормально отбражается, а если перевести в UTF-8, то в файле русский шрифт нормально показывает, а зато в браузере нет. проблема только в properties файлах, в JSP все стоит на UTF-8 и все отлично пашет

Link to comment
Share on other sites

короче после долгих поисков понял, что файлы настроек в Java поддерживает правильно только ISO-8859-1 и если надо писать русским шрифтом, то он сам конвертит их в escape-последовательности((( придется привыкать

Link to comment
Share on other sites

в смысле заголовки?

HTTP заголовки. Если у вас Firefox, поставьте расширение Live HTTP Headers, далее откройте вашу страницу, right click -> View page info -> Headers. Смотрите значение Response header Content-Type.

ISO-8859-1, то там когда пытаюсь писать на русском языке, вместо букв выходят шестнадцатеричные кода этих русских букв(например слово ПРИВЕТ как \u043F\u0440\u0438\u0432\u0435\u0442) и тогда в браузере все нормально показывается

Да, но во view source их же и увидите :) Это просто Юникод используя только ASCII символы, для HTML браузера. 4 байта на символ! Грабеж.

Link to comment
Share on other sites

4 байта на символ! Грабеж.

6 байтов :) \u забыл. Чтобы было понятней, utf-8 - это как цены на товары за бугром, a \uxxxx - это они же с бакинской наценкой :)

Link to comment
Share on other sites

короче после долгих поисков понял, что файлы настроек в Java поддерживает правильно только ISO-8859-1 и если надо писать русским шрифтом, то он сам конвертит их в escape-последовательности((( придется привыкать

проверьте кодировку файлов еще раз.

должно быть utf-8, не unicode или что-то иное.

у меня тоже когда-то была абсолютно идентичная проблема.

Link to comment
Share on other sites

нет, все это я понял про кодировки и все такое)) как никак не первый год программирую)) но что касается кодировки properties файлов, то их можно писать только в ISO-8859-1, в документации Java прочитал, так что приходится писать в текстовый редактор что я хочу и потом копировать в properties

Link to comment
Share on other sites

дело в том, что я это должен делать в Eclipse, потому что на работе у нас Team разработка именно на нем идет. да если честно, то и NetBeans не так нравится.

Link to comment
Share on other sites

dll, вы проверили заголовки? Если у вас получается переключать в браузере кодировку на utf-8 и все показывает - значит в ней и приходит. Просто кодировка в HTTP хедере неверная стоит. Ставлю 2 плюса :)

Link to comment
Share on other sites

дело в том, что я это должен делать в Eclipse, потому что на работе у нас Team разработка именно на нем идет. да если честно, то и NetBeans не так нравится.

нетбинс удобен в том что он готов к разработке jsp сразу после установки, с ним приходит и glassfish web server и java db, т.е. можно непосредственно запускать и смотреть результат

вообще-то вы должны по идее знать какого лешего у вас в Тeam разработка идет на чем-то а не на чем-нибудь другом, если уж сами не знаете (втф) то спросите хотя бы того кто там главный у вас

Link to comment
Share on other sites

dll, вы проверили заголовки? Если у вас получается переключать в браузере кодировку на utf-8 и все показывает - значит в ней и приходит. Просто кодировка в HTTP хедере неверная стоит. Ставлю 2 плюса smile.png

в том то и дело что в properties header нельзя прописывать

Link to comment
Share on other sites

нетбинс удобен в том что он готов к разработке jsp сразу после установки, с ним приходит и glassfish web server и java db, т.е. можно непосредственно запускать и смотреть результат

вообще-то вы должны по идее знать какого лешего у вас в Тeam разработка идет на чем-то а не на чем-нибудь другом, если уж сами не знаете (втф) то спросите хотя бы того кто там главный у вас

но зато по моему мнению NetBeans и тормозит немеренно, как никак он создан на Swing, а Eclipse на SWt. на Eclipse очень легко все настраивается и с этим проблем нет, тем более я то же самое по совету DieSlogan попробовал на Netbeans, результат одинаковый, так тоже файлы properties можно писать только в ISO-8859-1.

Ну я вообще то и сказал, что у нас разработка идет на Eclipse и самое главное проект большой и давно написан на Eclipse и перенести на другую IDE не представляется возможным. GlassFish & Java DB мне не нужны, у нас сервер на JBoss и база на Oracle, а для себя если надо то использую Мускул и Glass, ИМХО на эклипсе он очень легко устанавливается

Link to comment
Share on other sites

Я не джавист (и не Джавид smile.png) но лет 7-8 назад очень впечатлила своим качеством IntelliJ IDEA. Правда платная.

как раз таки IDEA 7-8 лет назад не пользовался таким спросом, потому что глючил страшно, но вы правы, он платный и если есть такие решения как NetBeans, Eclipse, JDeveloper на бесплатной основе, думаю глупо за него платить

Link to comment
Share on other sites

кто нибудь разбирается в Ext-GWT? у меня проблема появилась с onRender, выставляю код, может я что то не так пишу, хотя вроде все правильно должно быть:


import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.Popup;
import com.extjs.gxt.ui.client.widget.Text;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Window;
public class LinkFeedPopup extends Popup
{
public LinkFeedPopup()
{
setSize(300, 55);
setBorders(true);
setShadow(true);
setAutoHeight(false);

final TextField<String> urlField = new TextField<String>();

@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
final Text explainationText = new Text("Enter a feed URL");
final Button addButton = new Button("Add");
addButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

@Override
public void componentSelected(ButtonEvent ce) {
addFeed(urlField.getValue());
}
private void addFeed(String url) {
Window.alert("The " + url + " would be sent for the respond on server!");
}
});

final BorderLayout layout = new BorderLayout();
setLayout(layout);

final BorderLayoutData textData = new BorderLayoutData(LayoutRegion.NORTH, 20);
textData.setMargins(new Margins(2));
final BorderLayoutData fieldData = new BorderLayoutData(LayoutRegion.SOUTH);
fieldData.setMargins(new Margins(2));
final BorderLayoutData buttonData = new BorderLayoutData(LayoutRegion.EAST, 50);
buttonData.setMargins(new Margins(2));

add(explainationText, textData);
add(urlField, fieldData);
add(addButton, buttonData);

}

}
}

Link to comment
Share on other sites

в том то и дело что в properties header нельзя прописывать

Вы сказали у вас Томкат. Здесь написано как убедиться что веб сервером в хедер Content-Type пишется charset=utf-8. Тогда ваш браузер перестанет путаться.

Link to comment
Share on other sites

спасибо мой друг, но при настройке томката этот процесс является одним из первых, поэтому в томкате UTF-8 настроен у меня давно. он действует на файлы html, jsp, jsf но файлы пропертиес принадлежат именно Java API и томкат никак не может их поменять, потому что в Java API они прописаны под другой кодировкой

Link to comment
Share on other sites

Я что-то

но файлы пропертиес принадлежат именно Java API и томкат никак не может их поменять

Я что-то запутался. Вы же сказали, что поменяв вручную кодировку в браузере на utf-8, русский нормально отображается? Значит текст изначально закодирован в utf-8. Браузер ничего не перекодирует. Вобщем, трудно не видя гадать в чем проблема, если вас устраивает воркараунд с &0xxx; - то вперед :)

Link to comment
Share on other sites

неа, щас все объясню)))) изначально файл *.properties был в кодировке ISO-8859-1 и когда я внутри что то писал кирилицей, то он автоматов буквы переводил в 16-ричные коды (u0040) и типо того. но при этом в браузере эти коды снова автоматом конвертировались и показывались как есть. но в данной случае как вы сами понимаете, писать так что то в файл не очень удобно, очень легко сделать ошибку. и я решил перевести дефолтную кодировку в ЮТФ, и кириллицей когда стал писать в них что то, то нормально как есть показывались, но вот в браузере стали появляться надписи майя. вопросики и всякая фигня. поэтому остается оставить кодировку в ISO-8859-1, все что надо писать на русском в какой нить блокнот и конечный результат скопировать просто в файлы пропертиес

Link to comment
Share on other sites

неа, щас все объясню)))) изначально файл *.properties был в кодировке ISO-8859-1 и когда я внутри что то писал кирилицей, то он автоматов буквы переводил в 16-ричные коды (u0040) и типо того. но при этом в браузере эти коды снова автоматом конвертировались и показывались как есть.

Браузер ничего не конвертирует. Ему открытым текстом указывался Юникод этого символа, который ваш редактор любезно вписал в *.properties файл. Браузер знает, что вместо текста "\u043F" следует показать русскую букву "П" и т.д. Это работает одинаково на какую бы кодировку не был настроен браузер.

и я решил перевести дефолтную кодировку в ЮТФ, и кириллицей когда стал писать в них что то, то нормально как есть показывались, но вот в браузере стали появляться надписи майя. вопросики и всякая фигня

Внимания стоит только один момент: при ручной установке кодировки браузера в utf-8 русский нормально показывается?

Ответ может быть только да (ведь вы видите этот текст в *.properties и знаете что он utf-8), и это значит, что браузеру от Томката приходит хедер Content-Type: ...; charset=не-utf-8 поэтому он не показывает UTF-8 текст корректно.

Link to comment
Share on other sites

Ответ может быть только да (ведь вы видите этот текст в *.properties и знаете что он utf-8), и это значит, что браузеру от Томката приходит хедер Content-Type: ...; charset=не-utf-8 поэтому он не показывает UTF-8 текст корректно.

вот именно, все страницы с расширением веб документов (html, jsf, jsp и т.д.) передается в томкат, а файл пропертиес не читается в томкате, а прямиком API Java. поэтому томкат и не обрабатывает его нормально.

Link to comment
Share on other sites

но зато по моему мнению NetBeans и тормозит немеренно, как никак он создан на Swing, а Eclipse на SWt. на Eclipse очень легко все настраивается и с этим проблем нет, тем более я то же самое по совету DieSlogan попробовал на Netbeans, результат одинаковый, так тоже файлы properties можно писать только в ISO-8859-1.

Ну я вообще то и сказал, что у нас разработка идет на Eclipse и самое главное проект большой и давно написан на Eclipse и перенести на другую IDE не представляется возможным. GlassFish & Java DB мне не нужны, у нас сервер на JBoss и база на Oracle, а для себя если надо то использую Мускул и Glass, ИМХО на эклипсе он очень легко устанавливается

У меня, если открыть файл properties в обычном редакторе, то он будет в ASCII, а русские буквы будут в \u символах. Кстати, какая у вас системная локаль? У меня стоит Русский, Россия.

Link to comment
Share on other sites

У меня, если открыть файл properties в обычном редакторе, то он будет в ASCII, а русские буквы будут в \u символах. Кстати, какая у вас системная локаль? У меня стоит Русский, Россия.

вот у меня тоже русская и такое. может из за локали так происходит? как думаете?надо будет проверить на англ версии

Link to comment
Share on other sites

Народ, кто нибудь разбирается в gwt/jpa? А именно делать выборку из mysql посредством jpql? Значит цель какова, имеется окошко входа юзера с пррверкой логина и пароля. Надо проверить соответствие с данными в базе посредством rpc вызова. Использую beans pojo, dto файл как связка и service asynccall с implement. Кто нибудь делал подобное? Написал не так подробно, потому что с ipod пишу. Завтра выложу код, который не выдает ошибок при компиляции. Но во время работы java.lang.object не может перевести в объект beans

Link to comment
Share on other sites

вот у меня тоже русская и такое. может из за локали так происходит? как думаете?надо будет проверить на англ версии

Возможно. А может попробуете на другой машинке проверить?

Народ, кто нибудь разбирается в gwt/jpa? А именно делать выборку из mysql посредством jpql? Значит цель какова, имеется окошко входа юзера с пррверкой логина и пароля. Надо проверить соответствие с данными в базе посредством rpc вызова. Использую beans pojo, dto файл как связка и service asynccall с implement. Кто нибудь делал подобное? Написал не так подробно, потому что с ipod пишу. Завтра выложу код, который не выдает ошибок при компиляции. Но во время работы java.lang.object не может перевести в объект beans

Не работал, но выложите код, может совместными усилиями решим.

Link to comment
Share on other sites

насчет gwt разобрался, насчет кодировки проверил и на маке (рус/англ) и на винде(рус/англ), одна фигня. я написал письмо с этой проблемой и в oracle и в eclipse. будем ждать ответа, если конечно ответ последует

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Our picks

    • Начинают сносить мост Джаваншира(Гагаринский). Готовится ли Девичьей Башне?
      Начинают сносить мост Джаваншира. Слов нет. 

      Начинаются работы по сносу моста Джаваншира в Хатаинском районе Баку (бывший Гагаринский мост).
      Как сообщили Caliber.Az в пресс-службе Министерства транспорта и цифрового развития, мост будет снесен, на его месте построят наземную дорогу.
      В связи с этим с понедельника, 20 мая, с 17:00 движение по мосту будет закрыто
      https://caliber.az/post/241267/
        • Upvote
        • Confused
      • 67 replies
    • Мужчины или женщины - кто чаще становится инициатором развода в Азербайджане?
      В Азербайджане чаще всего женщины подают на развод, это 70% от общего количества обращений.
      Об этом Caliber.Az заявил главный советник Госкомитета по проблемам семьи, женщин и детей АР Рафик Махмудов, по словам которого, среди главных причин - насилие в семье, психологическое состояние или вмешательство извне в дела семьи.
      В первом квартале текущего года зарегистрирован 10 081 брак и 5 124 развода. За аналогичный период 2023 года - 11 870 браков и 5 118 разводов. Как показывает статистика, количество зарегистрированных браков сократилось примерно на 15 %.
      «В настоящее время в нашей стране существует большая потребность в усилении психологической поддержки семьи. В Азербайджане настало время решить вопрос о семейном психологе на институциональном уровне», - подчеркнул Р. Махмудов.
      https://media.az/society/v-azerbajdzhane-iniciatorami-razvoda-chashe-stanovyatsya-zhenshiny
        • Like
      • 72 replies
    • Баку-Тбилиси-Карс: когда начнутся пассажирские перевозки?
      Движение грузовых поездов по недавно отремонтированной железнодорожной линии Баку-Тбилиси-Карс (БТК) начнется с 20 мая. На первоначальном этапе по этому маршруту будут осуществляться грузовые перевозки. После расширения БТК планируется перевозить до 6,5 млн тонн грузов в год.
      Но когда же начнутся долгожданные пассажирские перевозки по этой железнодорожной линии? 
      В ответ на запрос Bizim.Media в ЗАО «Азербайджанские железные дороги» сообщили, что на основании соответствующего решения Кабинета министров срок действия особого карантинного режима на территории Азербайджана продлен до 1 июля 2024 года.
      «По этой причине сухопутные границы с соседними странами остаются закрытыми, за исключением грузовых перевозок. Если будет принято решение об открытии границ, то можно будет провести переговоры с соответствующими органами соседних стран для организации международных пассажирских перевозок», - отметили в структуре.
      Отметим, что с 16 мая 2023 года грузинский участок БТК был закрыт на ремонт.
      https://media.az/society/baku-tbilisi-kars-kogda-nachnutsya-passazhirskie-perevozki
        • Milli
      • 9 replies
    • Какая страна больше подходит для воспитания детей? - Азербайджан занимает 78-е место в списке из 87 стран.
      Американская медиакомпания “U.S.News” исходя из текущих условий, подготовила рейтинговую таблицу, показывающую, какие из стран более благоприятны для воспитания детей.
      Как сообщает Yeniаvaz.com, согласно информации, опубликованной на официальном сайте компании, рейтинг был подготовлен на основе опроса более 17 тысяч человек и за основу были взяты следующие критерии:
      - ситуация с правами человека;
      - семейная обстановка;
      - гендерное равенство;
      - индекс счастья;
      - коэффициент дохода;
      - безопасность;
      - образовательные возможности;
      - состояние здравоохранения.

      Отмечалось, что по версии Организации экономического сотрудничества и развития Швеция и Норвегия, возглавляющие рейтинг, считаются отличными странами для воспитания детей. Каждая из этих стран тратит более 1% своего валового внутреннего продукта на образование и уход за детьми дошкольного возраста.
      Согласно рейтингу, в 5 лучших стран для воспитания детей входят:
      1. Швеция
      2. Норвегия
      3. Финляндия
      4. Дания
      5. Нидерланды

      Азербайджан занимает 78-е место в списке из 87 стран.
      В рейтинговой таблице Турция заняла 50-е, Украина - 57-е, Россия - 62-е, Беларусь - 69-е место. В число стран рейтинговой таблицы не вошли Армения и Грузия.

      Последние пять в списке:
      83. Узбекистан
      84. Мьянма
      85. Бангладеш
      86. Казахстан
      87. Иран

      https://www.yeniavaz.com/ru/news/230781/kakaya-strana-bolshe-podkhodit-dlya-vospitaniya-detey-azerbaydzhan-v-posledney-desyatke
        • Sad
        • Like
      • 82 replies
    • TikTok запускает «Ночь музеев» с ведущими музеями Азербайджана
      Накануне Международного дня музеев, который отмечается 18 мая, ведущая платформа для просмотра и создания коротких видеороликов TikTok совместно с Министерством культуры АР и главными музеями страны запускает проект «Ночь музеев».
      Azerbaidzhana-PODROBNOSTI
        • Like
      • 28 replies
    • Эмоциональный Интеллект
      Умственный интеллект (IQ) отвечает за то, как мы воспринимаем информацию через анализ происходящего, решаем задачи и принимаем решения. Но этого недостаточно, чтобы достичь успеха в карьерном росте. В 1990 году американские психологи Джон Д. Майер и Питер Саловей рассказали о новом виде интеллекта, который отвечает за эмоциональное восприятие информации. Это открытие произвело фурор: поняв, что с помощью эмоционального интеллекта (EQ) можно прийти к успеху, учёные и психологи стали активно исследовать эту тему и описывать свойства EQ. А работодатели при приёме на работу начали обращать большее внимание на социальные навыки кандидатов. Эмоциональный интеллект относится к soft skills, которые можно и нужно прокачивать для эффективного взаимодействия с людьми. Этот навык позволяет быстро осознать суть проблемы, использовать подходящий управленческий приём и получить максимальный результат.
       
      Тест на определение насколько вы управляете собственными эмоциями можно пройти здесь.
       
      А как ведёте себя ВЫ перед лицом проблемы?
        • Like
      • 13 replies
    • Сильный пожар в цветочном магазине Ağ çiçəyim
      Предполагается, что пожар в цветочном магазине, расположенном на проспекте Азадлыг в Насиминском районе Баку,
      • 32 replies
    • Свалки, спрятанные среди гор: почему в Азербайджане образуются "мусорные сели"
      Сели смыли мусорный полигон в Гёйчайском районе, актуализировав проблему в сфере утилизации бытовых отходов в Азербайджане.
       
      • 3 replies
  • Recently Browsing   0 members, 0 guests

    • No registered users viewing this page.
×
×
  • Create New...