最近组长叫我做一个把查询出的数据用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")
这样取出来的值就不会出现乱码了。