2014-10-17 77 views
9

正如標題所說,我只能補充一點,如果我在html文件中手動輸入了±Ìó,那很好。來自.properties文件的消息不顯示UTF-8字符

的ViewResolver:

<bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver"> 
    <property name="prefix" value="/WEB-INF/templates/" /> 
    <property name="suffix" value=".html" /> 
    <property name="templateMode" value="HTML5" /> 
    <property name="cacheable" value="false"/> 
    <property name="characterEncoding" value="UTF-8"/> 
</bean> 

<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine"> 
    <property name="templateResolver" ref="templateResolver" /> 
</bean> 

<bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver"> 
    <property name="templateEngine" ref="templateEngine" /> 
    <property name="characterEncoding" value="UTF-8"/> 
    <property name="order" value="1"/> 
</bean> 

的pom.xml:

<h2><p th:text="#{homepage.greeting}">Welcome</p></h2> 

html文件的標記中:

<meta charset="UTF-8"/> 
HTML輸入的

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 

示例

在IntelliJ IDEA的我已設置項目編碼成UTF-8,默認編碼屬性文件爲UTF-8 enter image description here

老實說,我不知道哪裏出了問題。當我將區域設置更改爲pl時,這是輸出: enter image description here

對不起,我還未發佈圖片。 任何幫助將不勝感激。

在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> 
+0

感謝您添加圖片。 – Sikor 2014-10-18 17:37:19

+0

適合我。謝謝 – pagurix 2015-09-29 16:02:00

回答

14

好的,我想通了。這裏的交易:

我有下面的代碼:

<bean id="messageSource" 
     class="org.springframework.context.support.ResourceBundleMessageSource"> 
    <property name="basename" value="messages" /> 
</bean> 

選項1: 只需添加這是另一個屬性:

<property name="defaultEncoding" value="UTF-8"/> 

選項2: 改成了:

<bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
    <property name="basename" value="classpath:messages"/> 
    <property name="defaultEncoding" value="UTF-8"/> 
</bean> 

如果將其更改爲可重新載入,請記住將屬性值從「消息」更改爲「classpath:messages」。出於某種原因,如果我沒有更改它,它就找不到消息包。

相關問題