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