最近在做一個法國的項目。
項目中需要對資源進行本地化,從網上查了一些資料,自己也試了試總結了一些經驗:
用如下方法把資源文件打成包:
native2ascii -encoding GB2312 application.properties application_zh_CN.properties
資源文件的zh_CN就是這么來的。
不過光這么做了并不會一定會讓我們看到我們想要的結果,因為通常我們的JSP頁面編碼是ISO-8859-1
或者是GB2312,GBK
我試了試如果資源文件是zh_CN結尾,JSP頁面的pageEncoding還是ISO-8859-1那么將會輸出亂碼,可以是UTF-8或者是GB2312等等。
那么現在我們再加一個英文的資源文件進來,那我們必須把資源文件打包為_en結尾。否則IE的本地語言改為英國(_en),也不可能在Struts中輸出英文。它會顯示為?????或者方框。
建議在jsp的pageEncoding用UTF-8這樣的編碼,否則在不同國家的瀏覽器上有可能會出現亂碼。(因為GBK或者GB2312不支持西歐的文字,而ISO-8859-1又不支持中文)
那么為什么不用UTF-8打包了?
我試了一下,打出來的中文還是會出現亂碼,問題不詳。所以用中文用的是GB2312,英文用的是ISO-8859-1 , JSP的pageEncoding用的是UTF-8。
希望有人能幫忙解決UTF-8中文亂碼問題
在使用Eclipse的時候要注意修改文件的保存類型
打開文件的"屬性"
再選擇
點擊Other:把內容修改為UTF-8