最近,遇到了好多乱码的问题,解决了一些,还有最后一个乱码,能想到的各种办法都试过了,还是不行,很奇怪啊。
解决这些乱码时,涉及到了http头数据,不是很了解。
第一个乱码:
操作返回的提示信息:操作成功、失败原因,这样的信息返回到页面乱码。最后找到的原因是:返回的ContentType格式不是“text/html”,手动设置response的ContentType类型,页面可以正常显示。
第二个乱码:
下载excel时,部分页面可以正常下载,部分页面无法保存excel,在页面显示一堆乱码,经过对比,发现无法下载的页面,是dwr封装的ajax请求,该请求的返回数据也是经过了一层封装,因此,换了一种提交方式。
第三个乱码:
get提交,url中文参数乱码,这个貌似是最常见的了,但是,基本上能查到的解决方案,都试过了,结果仍然乱码呢!最后,终于找到了一篇可行的文章,需要经过两次转码:
url="……?userName="+encodeURI(encodeURI(userName));
当时调这三种情况的乱码时,是有很多感触的,包括检索方式、问题定位等。这篇文章写的是有点概括性,好吧,就算是给自己留纪念了。