Extjs 中文亂解決

Extjs 中文亂碼我們在用Extjs做項目時,如果整個項目工程用的都是UTF-8編碼的話,不論是Extjs項目或是別的項目,都不會不存在中文亂碼問題,但是有的公司有的項目非要用GB2312或GBK的話那就會出現亂碼問題,而你做爲一個代碼工人,只能去改了。
因爲ExtJS內部用的是UTF-8,所以與你項目用的GB2312或GBK編碼衝突。我們要解決這個問題首先要保證我們的前後臺編碼一致,若是GB2312都用GB2312。
大體上有三個方面會出現中文亂碼問題。
1、grid數據列表展示打開時會報錯,可能在tomcat下不會報錯,我遇到的情況是在websphere下報錯了,解決方法是,後臺輸出前設定輸出編碼,java中是response.setCharacterEncoding("GB2312");這樣就可以解決了。
2、store帶參數加載數據,因爲ext中的ajax用的是UTF-8,所以直接傳的話會出現亂碼,我們可以用Extjs的encodeURIComponent先把中文編碼,然後在後臺用java的java.net.URLDecoder再解碼就可以解決,示例如下:
stroe加載:
store.baseParams={
euser:encodeURIComponent(euser)
batName:encodeURIComponent(batName)   //編碼
};
store.load();
後臺解碼:
if(!Util.isEmpty(euser))
euser=URLDecoder.decode(euser,"UTF-8");   //解碼轉中文
if(!Util.isEmpty(batName))
batName=URLDecoder.decode(batName,"UTF-8"); //解碼轉中文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章