JSP页面上未显示区域字符

时间:2015-09-23 05:49:24

标签: java spring jsp maven utf8-decode

我已经使用Spring的Maven Webapp格式化了英语和孟加拉语的本地化功能。我分别从Property文件加载我需要的页面消息,用于英语和孟加拉语。如果我直接将字符添加到页面,它们将被正确呈现。此外,如果我在unicode中添加孟加拉语字符(例如:স),它们会正确显示。但由于属性文件无法轻松阅读,我在正常的孟加拉语文本中添加了文本(例如:স),但现在它们无法正确显示。它们被显示为“à||||à§à|”等。

在每个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 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,技术略有不同(Stpring,Maven,Pug(前Jade))。 在我的控制器中添加此行对我有用:

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

感谢this post

希望这会有所帮助!