1. 程式人生 > >解決IE下URL傳參中文亂碼的問題

解決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()函式的區別:前者只對中文部分轉碼,後者對特殊字元也會轉碼。