問題描述:將應用部署到weblogic后,只要經過sitemesh裝飾過的頁面都出現亂碼,而不經過sitemesh裝飾的頁面都正常顯示。
問題原因:sitemesh在裝飾頁面時,如果response的contentType為null,則使用java虛擬機屬性值"file.encoding",而該值與操作系統相關,在windows系統下,該值=GBK.由于頁面本身是utf-8編碼的,經過sitemesh裝飾后,使用GBK編碼轉行,產生亂碼。
問題解決:在應用啟動(如web.xml文件中配置listener,將下面代碼放入listener)時,就將file.encoding屬性設置為UTF-8編碼,這樣就不會出現sitemesh裝飾后的亂碼問題。
設置代碼:
Properties prop = System.getProperties();
prop.put("file.encoding", "utf-8");
posted on 2008-10-08 08:49
想飛的魚 閱讀(2050)
評論(3) 編輯 收藏 所屬分類:
error and solution 、
錯誤及解決記錄