本地html使用uft-8,檔案格式也是utf-8,通過sitemesh 後,成亂碼!上傳到伺服器上,顯示又是正常!
或者本地正常,伺服器亂碼!
查找原因為:本地通過sitemesh 擷取
System.getProperty("file.encoding")
為GBK,即将UTF-8的檔案轉換為GBK,出現亂碼,估計伺服器上通過System.getProperty("file.encoding")擷取為utf-8,是以正确。
處理辦法,1,修改sitemesh 源碼,TextEncoder.java中,直接設定預設值為uft-8
2,修改本地環境j ava系統變量file.encoding設定為UTF-8
編碼設定推薦:
eclipse中項目上,右鍵,修改Resource,編碼設定為utf-8,
elipse 上window,workspace設定為utf-8