Региональные символы не отображаются на странице 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")
Благодаря этому посту.
Надеюсь, что это будет полезно!