Наконец-то мне удалось реализовать поддержку интернационализации в моем приложении на основе Spring MVC ....
Следуя приведенным ниже инструкциям, я включил поддержку интернационализации в мое веб-приложение, используя Spring MVC, Hibernate, MYSQL или Oracle Database и Jboss или webLogic в качестве сервера приложений.
Допустим, мы хотим добавить поддержку интернационализации для японского языка. Т.е. пользователь должен иметь возможность вводить японские символы в веб-формах, и он должен быть сохранен в том же формате, в котором он был введен пользователем, а также должен отображаться на том же языке на веб-странице. .
Выполните следующие шаги.
Убедитесь, что в операционной системе установлена поддержка японского языка (установка для конкретного региона). Если нет, пожалуйста, установите его.
Если вы используете какую-либо IDE, настройте IDE для поддержки японского языка, изменив кодировку текста на UTF-8 . Например, если вы используете мой Eclipse, измените кодировку текстового файла на UTF-8. Вы можете изменить этот путь (Window-> Preference-> General-> Workspace)
Поместите встроенный фильтр Spring Framework в кодировку символов в качестве первого фильтра в цепочке фильтров (web.xml), чтобы убедиться, что он запускается первым во время обработки запроса и выполняется последним во время обработки ответа
web.xml
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<!-- set forceEncoding to true if you want to override encoding of servlet -->
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4 Установите кодировку страницы JSP в UTF-8, добавив нижеупомянутый код в верхней части JSP.
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%></p>
<pre><code><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 Установите схему кодирования соединения Hibernate на UTF-8, добавив следующее свойство в hibernate-cfg.xml
<property name="hibernate.connection.characterEncoding">UTF-8</property>
Примечание. При использовании сервера приложений JBoss убедитесь, что вы добавили characterEncoding = UTF-8 к URL-адресу соединения в файле конфигурации службы базы данных.
( Например, mysql-ds.xml для базы данных mySQL ), как указано ниже.
<datasources>
<local-tx-datasource>
<jndi-name>WSCDS</jndi-name>
<connection-url>
jdbc:mysql://{ipaddress}:{port}/{database_name}?characterEncoding=UTF-8
</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>{username}</user-name>
<password>{password}</password>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>