2013-10-21 54 views
3

我正在嘗試爲我們的Spring MVC應用程序添加國際化和本地化支持。 我在* -servlet.xml後綴spring framework mvc localization

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

取得編碼這樣的,但我發現錯別字像下面

enter image description here

我想不出有什麼問題,我應該修復它。如果可能的話,請讓我知道。


我已經在JSP頁面中加入這樣的: <%@頁面的contentType = 「text/html的;字符集= UTF-8」 LANGUAGE = 「java的」 %>

但它不沒有工作。

+0

請出示您的控制器。 –

回答

2

ReloadableResourceBundleMessageSourcedefaultEncoding屬性用於

設置默認字符集用於解析屬性文件。如果 未爲文件指定文件特定的字符集,則使用此選項。

它對客戶端如何讀取響應沒有影響。如果您正在生成一個jsp你的迴應,你可以讓客戶知道你提供與UTF-8字符集編碼數據在一開始

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

給它這條線。

如果您使用的不是jsp,還有其他的方式從HttpServletResponse或從返回ResponseEntity對象設置的content-typecontent-encoding,直接。

+0

打我一秒。我想補充一點,你應該確保你的屬性文件在UTF-8 –

0

更新您的默認編碼:

<property name="defaultEncoding" value="ISO-8859-1" /> 

,這應該與重音渲染人物的工作。 至少它的作品在我的春天項目(法國和歐洲的語言/用戶)

如果這不是一個選擇(針對性的用戶更多的觀衆)嘗試在你的JSP補充一點:

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    ... 
</head> 
+0

謝謝。正如你所說,我做到了。有用。非常感謝。 – Soo