关于window.open()中文传值乱码问题的解决方法
Posted 崔伊平
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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")
这样取出来的值就不会出现乱码了。
以上是关于关于window.open()中文传值乱码问题的解决方法的主要内容,如果未能解决你的问题,请参考以下文章
用javascript中的window.opent()进行页面传值
高级篇javascript静态页面传值的三种方法 url方法,取值方便,可跨域; cookie方法,同源访问; window.open方法,指向父窗口
高级篇javascript静态页面传值的三种方法 url方法,取值方便,可跨域; cookie方法,同源访问; window.open方法,指向父窗口