2012-04-27 65 views
1

驗證按預期工作,但消息只以英文顯示。我使用我自己的日語消息。休眠驗證i18n(日語)顯示不好(亂碼)

問題是我收到日文亂碼驗證信息。我正在使用hibernate-validator-4.2.0.Final.jar的validation-api-1.0.0.GA.jar。 我有ValidationMessages.properties和ValidationMessages_ja.properties。 文件是UTF8: 例如: 的firstName =姓をご記入ください.comes出:å½ãé¸æãã|ããAAA

我在bean使用屬性以上進行驗證: @Size(分鐘= 1 ,message =「{myErrorMsg}」) private String myAttribute;

在我spring.xml:

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

和:

<bean id="localeResolver" 
    class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver"> 
    <!-- <property name="defaultLocale" value="en_us" /> --> 
</bean> 

什麼我失蹤?

感謝, 杆

+0

您是否找到針對您的問題的解決方案?我遇到了同樣的問題。 – fabien7474 2013-04-23 15:14:21

回答

0

我想說的編碼可能失去在構建時。您使用的構建工具是否知道您的文件編碼?例如,使用Maven,您需要此屬性:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
+0

設置此屬性無助於解決問題 – Eugene 2016-02-19 01:42:43