2015-09-23 1 views
1

Я отформатировал Maven Webapp с Spring, чтобы иметь функции локализации для английского и бенгальского языков. Я загружаю сообщения, которые мне нужны для страницы, из файлов свойств соответственно для английского и бенгальского языков. Если я непосредственно добавлю символы на страницу, они будут отображаться правильно. Также, если я добавлю символы bengali в unicode (Ex: স), они отображаются правильно. Но так как файл свойств не может быть легко прочитан, я добавил текст в обычном бенгальском тексте (Ex: স), но теперь они не отображаются правильно. Они показаны как «à|à||à§à|» и т. Д.Региональные символы не отображаются на странице JSP

На каждой странице JSP у меня есть следующее.

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> 

В моей 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> 
     <param-name>forceEncoding</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>encodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

Также у меня есть,

<jsp-config> 
    <jsp-property-group> 
     <url-pattern>*.jsp</url-pattern> 
     <page-encoding>UTF-8</page-encoding> 
    </jsp-property-group> 
</jsp-config> 

И в моей весенней servlet.xml

<bean id="messageSourceLocale" 
     class="org.springframework.context.support.ResourceBundleMessageSource"> 
    <property name="basename" value="messages.messages" /> 
    <property name="defaultEncoding" value="UTF-8" /> 
</bean> 

Что я делаю неправильно? Как это исправить? Заранее спасибо.

ответ

2

У меня была такая же проблема с немного разными технологиями (Stpring, Maven, Pug (бывший Jade)). Добавление этой строки в мой контроллер работал для меня:

@RequestMapping(value="/", produces = "text/html;charset=UTF-8") 

Благодаря this post.

Надеюсь, что это будет полезно!