關於頁面Ajax轉碼問題

今天碰到一個前臺MooTools框架Ajax向後臺轉值,後臺接受是亂碼的問題。

試關前臺用encodeURI(參數)的方式對參數進行URL編碼,

後臺用java.net.URLDecoder.decode(參數, "UTF-8")進行解碼,

然而得到的值一直都是亂碼,後來改用其它方法,用javascript函數或後能用java進行轉碼都未解決,

最後在網上看到一段話:

分析:當調用request.getParameter()函數時,會自動進行一次URI的解碼過程,

調用時內置的解碼過程會導致亂碼出現。而URI編碼兩次後,

request.getParameter()函數得到的是原信息URI編碼一次的內容。

再用可控的解碼函數java.net.URLDecoder.decode()就可解出原始的正確的信息。

以上分析純屬個人看法,不知是否正確。

試着將前臺參數用encodeURI(encodeURI(參數))轉換了兩次,問題得以解決。

不知上面的分析是否正確,但問題確實解決,納悶!

但還是記錄下來求證。

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