解決IE下URL傳參中文亂碼的問題


昨天上線后發現一個奇怪的問題,就是在IE的地址欄中輸入帶中文的參數,傳到Java端后是亂碼,但是在谷歌等瀏覽器中卻沒有此問題,導致運營人員配置的鏈接地址帶中文,無法正確跳轉我們的SEARCH頁。

最后的解決方案是:

1、將跳轉鏈接放在頁面的節點中,用window.open跳轉。

2、在tomcat的server.xml中設置編碼格式為UTF-8。

3、在啟動start.sh腳本中添加一句:

export LANG=zh_CN.UTF-8

 

完美解決,無需在JAVA端轉碼了!!!

 

 

另外,又發現了最正確的解決方法,就是encodeURI() 函數,只需在帶有中文的鏈接用該函數即可,其他地址無需解碼即可使用。

注意:

encodeURI() 函數和encodeURIComponent()函數的區別:前者只對中文部分轉碼,后者對特殊字符也會轉碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM