Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с локализацией в Spring MVC, не отображаются русские символы 
:(
    Опции темы
Praid
  Дата 28.8.2012, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 11.5.2010

Репутация: нет
Всего: нет



Пытаюсь добавить русскую локализация через проперти файлы в Spring MVC, но в какой бы я кодировки не сохранял этот проперти файл, все равно во всех браузерах вместо русских символов отображаются знаки вопроса:
     ???????????
Вот конфигурация которую использую:

i18n-spring.xml
Код

    <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="classpath:messages" />
        <property name="defaultEncoding" value="UTF-8" />
        <property name="fileEncodings" value="UTF-8" />
    </bean>

    <bean id="localeChangeInterceptor"
        class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="lang" />
    </bean>

    <bean id="localeResolver"
        class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
        <property name="defaultLocale" value="ru" />
    </bean>

    <bean id="handlerMapping"
        class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
        <property name="interceptors">
            <ref bean="localeChangeInterceptor" />
        </property>
    </bean>


JSP страница
Код

<%@ page contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8" language="java" %>
...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
...
<spring:message code="label.name"/>
...


А когда в браузере смотрю кодировку этой странице она оказывается в ISO-8859-1. Но в jsp ведь явно указано что она должна быть в использоватся UTF-8?

Это сообщение отредактировал(а) Praid - 28.8.2012, 21:30
PM MAIL   Вверх
jk1
Дата 29.8.2012, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 5
Всего: 75



Там по сути стандартная Java-локализация используется. А в ней .property-файлы нужно прогонять через утилиту native2ascii для нормального отображения юникода. В моем текущем проекте, например, после обработки утилитой .property-файл выглядит так:

Код

javax.validation.constraints.AssertFalse.message=\u0414\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C\u043B\u043E\u0436\u043D\u043E
javax.validation.constraints.AssertTrue.message=\u0414\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C\u0438\u0441\u0442\u0438\u043D\u043D\u043E



--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Praid
Дата 29.8.2012, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 11.5.2010

Репутация: нет
Всего: нет



jk1, перегнал с помощью этой native2ascii, не помогло, все равно выводятся знаки вопроса.

upd:
Ёклмн, все дело в Tiles, в jsp которая является шаблонов забыл указать кодировку, а указал ее лишь на странице которая является лишь элементов шаблона, поэтому и не определялась кодировка. 

В общем совет все на будущее:
 - Если вы используете Tiles указывайте информацию о кодировке только в jsp шаблона! 

Пример:
template.jsp
Код

<%@ page contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8" language="java" %>
...
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
...

А для файла с проверти необходимо воспользоватся native2ascii.
И тогда все будет работать как надо.

Это сообщение отредактировал(а) Praid - 29.8.2012, 21:35
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0710 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.