關於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類再解碼一次spa

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

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

相關文章
相關標籤/搜索