Posted on 2006-06-20 05:38
Ardor Leo 閱讀(1522)
評論(2) 編輯 收藏 所屬分類:
有點心得
這是我和朋友在MSN上的對話,朋友是非常棒的一個家伙,很厲害。就是他把prototype.js引進到項目中的,介紹給我的,現在都離不開了。
這段對話是在朋友的啟發下總結的。有所得,有失誤。歡迎不同意見的、高人來拍幾下,呵呵。
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
是這樣的,解決了ajax的編碼問題,可是對項目的整體編、解碼產生了影響
你還得吧,我們的基礎轉碼是在filter中作的
而且就是Tomcat中標準的格式
Evan 說:
加個參數
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
我把AJAX中的參數檢測放到了那段代碼最開始,想讓它不影響后面的GBK編、解碼
可是還是影響了
Evan 說:
那要跟一下才知道
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
原因就是我執行過request.getParamter("")。雖然,這里我并沒有設置編碼,就是沒用過request.setCharsetEncoding()。可是還是讓后面的代碼失效了
這個試了很多次就是這樣
Evan 說:
不清楚了
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
把轉AJAX參數的代碼放到系統編、解碼后面,系統就不會受影響
很奇怪的
Evan 說:
??
是很奇怪的
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
然后,對于AJAX的參數就只能GBK到UTF-8了
可是又有新問題了,就是這樣得到的字符集比較小,提交上來的中文參數是一個字的時候,還會亂碼
兩個字就不會,中文空格會亂碼
Evan 說:
昏
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
對于項目中的問題,最終的方式就是把算法資源從后臺全部移至前端用javascript做了
Evan 說:
昏
不會這么復雜把
感覺不對
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
剛才說到的Tomcat過濾器的問題,我懷疑是第一次用過request.getParameter()后,它讀東西到緩存中,以后只讀緩存,所以再設編碼就不起作用了
Evan 說:
有可能
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
我不想這復雜,可是沒找到更好的辦法
而且沒看到如何可以讓request重新讀一下原始的數據流
還有一個問題,你還記得吧。我做彈出框,腳本不能執行的問題吧?
現在有了答案了
我看到了一篇文章發給你,不過我還沒試過
http://www.coolcode.cn/?p=117
很強的一個牛人
Evan 說:
謝謝
Ardor Leo【對AJAX的編碼問題初戰告捷!二戰失利啊…】 說:
還有一個網站,很牛的人,自己把javascript擴展成完全面向對象的了
http://www.ajaxwing.com/
算是一個教訓,以后要全用utf-8做程序的,不然就死翹翹了,呵呵呵
Evan 說:
好動動
|