关于window.open()中文传值乱码问题的解决方法

时间:2021-08-14 18:07:40

最近组长叫我做一个把查询出的数据用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")

这样取出来的值就不会出现乱码了。