關於window.open()中文傳值亂碼問題的解決方法


最近組長叫我做一個把查詢出的數據用POI導出Excel的功能,我前台把要查詢的字段通過如下傳回后台時,發現出現了亂碼問題

window.open('user!export?name='+name);

試了一下只有中文出現亂碼,於是搜索了一下相關的文檔,找到了解決亂碼的辦法。

瀏覽器自動把參數值用"ISO8859-1"的方式編碼,於是前端需要解碼兩次

var val = encodeURI(name);    
val = encodeURI(val); window.open('user!export?name='+val);

在后台的controller里面用URLDecoder類再解碼一次

URLDecoder.decode(name.trim(), "utf-8")

這樣取出來的值就不會出現亂碼了。

 


免責聲明!

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



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