javascript传递url中文乱码处理
来源:互联网 发布:php 使用fileinput.js 编辑:程序博客网 时间:2024/05/20 19:49
此问题搞了一天,最后配置tomcat支持url中文参数,问题解决。
在js文件中打开新的url地址时,如果url中附带了中文,则易出现乱码,解决方法如下(两方面):
1.js文件中,定义url后,运用encodeURI进行转码。eg:
var url="/pjgl/layouts/wdlr/doSmartDownload.jsp?accname="+mydata;
url=encodeURI(url);
url=encodeURI(url);
window.location.href=url;
2.对应处理的jsp中,对接收到的accname进行解码。eg:
String accname=request.getParameter("accname");//接收ext的值
accname = java.net.URLDecoder.decode(accname,"UTF-8");
3.忽视了tomcat支持URL中文参数的配置。--->必须得让tomcat支持中文啊
配置tomcat支持URL中文参数,只需添加Connector的URIEncoding参数即可,默认情况下该参数未被配置。要支持URL参数支持中文,加上URIEncoding=”GBK”就行了(见1中附代码最后一行)。
在以上两步都做好的情况下,还是不行,此问题困扰许久,最后经闫哥点播,还是改tomcat的编码设置,在conf文件下的server.xml
修改以下内容:
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
disableUploadTimeout="true" URIEncoding="true"/>
搞定~~~~~~~~~~
对URIEncoding的理解:
1.
经验证,Tomcat的Server.xml的URIEncoding="UTF-8" 配置只对"GET"类型的请求有效,对"POST"请求类型无效。
即配置了URIEncoding="UTF-8" 后,在服务器端接收到的"POST"类型请求参数编码仍然为"ISO8859-1",而不是"UTF-8"。
2.
官方文档中的说明,该编码指定的是为URI进行解码用的,只对GET请求有效,POST请求参数是以http body形式提交的,不会受此影响。如果需要对POST指定编码,你可以使用EncodingFilter这样是实现,比如spring就提供了一个。
- javascript传递url中文乱码处理
- javascript--url传递中文乱码.
- javascript--url传递中文乱码
- 处理URL传递中文乱码问题
- 处理URL传递中文乱码问题
- 处理URL传递中文乱码问题
- 处理URL传递中文乱码问题
- 处理URL传递中文乱码问题
- 处理URL传递中文乱码问题
- URL传递中文,乱码
- URl传递中文乱码
- javascript在传递url(含有中文)时出现乱码
- Javascript用Url传递参数出现中文乱码的解决方法
- javascript在传递url(含有中文)时出现乱码
- JAVASCRIPT用Url传递参数出现中文乱码的解决方法
- JavaScript在传递url(含有中文)时出现乱码
- javascript利用url向后台传递数据中文乱码问题
- 处理URL传递中文乱码问题Pthill转载
- sizeof函数
- object-C 与 C++的比较
- 测试学习资料
- intellij idea 快捷键
- 如何将datagridview中的数据导出到Excel中(转)
- javascript传递url中文乱码处理
- 测试python等学习网址
- C#读写文件、遍历文件、打开保存文件,窗体程序
- vs2008中文版 安装 mvc 框架
- makefile中的shell语法
- hdu3065 AC自动机
- [android app][eclipse技巧]如何快速复写(Override)方法
- 程序员的前世今生
- CocosX学习实录01