Региональные символы не отображаются на странице JSP

Я отформатировал Maven Webapp с Spring, чтобы иметь функции локализации для английского и бенгальского языков. Я загружаю нужные мне сообщения для страницы из файлов свойств соответственно для английского и бенгальского языков. Если я непосредственно добавляю символы на страницу, они отображаются правильно. Также, если я добавлю бенгальские символы в юникоде (например: স), они будут отображаться правильно. Но так как файл свойств не может быть легко прочитан, я добавил текст в обычном бенгальском тексте (например: স), но теперь они отображаются неправильно. Они отображаются как "ааааа" и т. Д.

На каждой странице 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>

И в моем spring-servlet.xml

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

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

1 ответ

Решение

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

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

Благодаря этому посту.

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

Другие вопросы по тегам