Struts 中文處理問題jsp檔案
所以的編碼設定為UTF-8
1) page指令
<%@ page contentType="text/html; charset=UTF-8" %>
2) html的頭標記
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
struts的設定檔
在struts-config檔案中配置資源文體
<message-resources parameter="MessageResources"/>
<message-resources parameter="ErrorMessages" key="ErrorMessages"/>
<message-resources parameter="Test" key="Test"/>
預設目錄是在\WEB-INF\classes下
如果是
<message-resources parameter="Error.Messages" key="ErrorMessages"/>
那麼是在\WEB-INF\classes\ Error下的Messages.properties檔案
對應國際化檔案的名稱
預設的資源檔ErrorMessages.properties
中文資源檔 ErrorMessages_zh_CN.properties
中文資源檔的產生:
1) 建立一個臨時檔案ErrorMessages_xx.properties,在此檔案中輸入文本資訊
# -- standard errors --
ErrorMessages.inputFriendPhone=錯誤1
ErrorMessages.isNum=錯誤2
input.recommend.phone=*推薦人的手機號碼
input.username=使用者姓名:
2) 使用命令:native2ascii -encoding GBK ErrorMessages_xx.properties
ErrorMessages_zh_CN.properties
產生後的檔案如下:
# -- standard errors --
ErrorMessages.inputFriendPhone=\u9519\u8bef1
ErrorMessages.isNum=\u9519\u8bef2
input.recommend.phone=*\u63a8\u8350\u4eba\u7684\u624b\u673a\u53f7\u7801
input.username=\u7528\u6237\u59d3\u540d:
3) 注意中文名稱是xx_zh_CN.properties
如果名稱錯誤了,將看不到你需要的結果
測試
在普通的jsp檔案中如何測試
jsp檔案中國際化使用的名字空間
<%@ page import="java.util.Locale" %>
<%@ page import="java.util.ResourceBundle" %>
<%
Locale locale = request.getLocale();
System.out.println("locale="+locale.toString());
locale = new Locale("zh","CN");
System.out.println("locale="+locale.toString());
ResourceBundle messages = ResourceBundle.getBundle("ErrorMessages",locale);
System.out.println(messages.getString("input.recommend.phone"));
%>