Spring i18n问号而不是文字

时间:2018-04-24 02:24:43

标签: spring internationalization

我hawa i18n,但遇到中文和印地文字母的问题。我有问号?????而不是文字。

这是我的dispatcher-servlet.xml:

    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">

    <property name="basename" value="classpath:messages" /> 
    <property name="defaultEncoding" value="UTF-8" />               
    <property name="useCodeAsDefaultMessage" value="true" />
</bean>  

<bean id="localeResolver"
    class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
    <property name="defaultLocale" value="en" />

</bean> 

<mvc:interceptors>

    <mvc:interceptor>
         <mvc:mapping path="/**" />     

    <bean class="com.aartek.interceptor.LoginInterceptor" />                
    </mvc:interceptor>

    <mvc:interceptor>
         <mvc:mapping path="/**" /> 

    <bean class="com.aartek.interceptor.SecondInterceptor" />           
    </mvc:interceptor>

    <mvc:interceptor>
         <mvc:mapping path="/product.do*" />    

    <bean class="com.aartek.interceptor.LoggingInterceptor" />          
    </mvc:interceptor>

    <bean id="localeChangeInterceptor"
        class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="lang" />
    </bean>

</mvc:interceptors>

的Login.jsp

   <%@page  contentType="text/html;charset=utf-8" pageEncoding="UTF-8" 
   language="java"  %>

   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
   "http://www.w3.org/TR/html4/loose.dtd">
   <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
   <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>

   <html>

     <head>

  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Login</title>

    <span style="float: right">

   <a href="?lang=en">English</a> |<a href="?lang=fr">French</a>|<a href="? 
              lang=hi_IN">Hindi</a>|<a href="?lang=zh_CN">Chinese</a>

    </span>

     <form:form method="POST" modelAttribute="keyUser" 
         action="checkLogin.do">
     <table width="100%" border="0">
            <tr>
                <td><spring:message code="label.userId"  
                         /></td>

                <td><form:input path="userId" id="userId" /></td>


            </tr>

我用类似的方式写了电子邮件ID,密码和提交。

3.messages_zh_CN.properties

   label.userId=\u7528\u6237\u540D
   label.emailId=\u7535\u5B50\u90AE\u4EF6ID
   label.password=\u5BC6\u7801
   label.submit=\u63D0\u4EA4

我用类似的方式写了英文,印地文和法文。

我的问题: 我如何才能删除问号及其仅供中文和印地文使用,如何才能显示正确的文字?

1 个答案:

答案 0 :(得分:0)

你的本地文件,java类,jsp的文件编码应该是UTF-8。