Get請求參數中文亂碼問題整理

請求的編碼一般爲ASCII字符集,所以不包括中文韓文這種字符,所以再請求之前,在js裏需要進行編碼

在js裏,我們經常使用enCodeURL()來改變編碼,但我們需要注意一點是:服務器端我們用getParameter來接收參數,這個方法比較坑的是會自動解碼一次,一般爲iso-8859-1的解碼方式,所以如果我們用enCodeURL進行UTF-8編碼的話,到服務器端是會解碼錯誤的,這裏我們利用一點,enCodeURL對中文字符編碼之後形成ASCII對應十六進制的數組,如果第二次進行編碼的話是與iso-8859-1的編碼是一樣的,因爲中文字符已經被編碼了,所以我們在getParameter的時候解碼iso-8859-1是可以直接得到enCodeURL第一次的結果,再在服務器端使用URLDecoder.decode(name,"UTF-8");我們就可以得到未編碼的url,即我們所要

 

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