首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

location后的中文乱码有关问题

2012-04-02 
location后的中文乱码问题我所有的页面和程序都是UTF-8编码的,而且已经配置了SetCharactorEncodingFilter,

location后的中文乱码问题
我所有的页面和程序都是UTF-8编码的,而且已经配置了SetCharactorEncodingFilter,但是页面里使用location= "xxx.jsp? "xxx=xxx的时候,在程序里面request.getParameter( "xxx ");无论如何都不能取出中文字符,但是用form提交就没有类似的问题,请问一下这种情况我该怎么办,程序已经写完了,实在不想都改成form提交,太麻烦了。

[解决办法]
使用页面中使用encodeURI对参数编码
location= "xxx.jsp?xxx= "+encodeURI(xxx)

[解决办法]
如果url?xx你自己可以控制,则最好进行编码,服务器端和js都可以
如果用户直接输入url?xx=中文。则可以这样

在tomacat下的server.xml里找到

<Connector port= "8080 " maxHttpHeaderSize= "8192 "
maxThreads= "150 " minSpareThreads= "25 " maxSpareThreads= "75 "
enableLookups= "false " redirectPort= "8443 " acceptCount= "100 "
connectionTimeout= "20000 " disableUploadTimeout= "true " URIEncoding= "GB2312 " />

添加 URIEncoding= "GB2312 " 即可
[解决办法]
location= "xxx.jsp?xxx= "+encodeURIComponent(xxx)
也要添加 URIEncoding= "GB2312 " 到server.xml,因为tomcat有些变态,
设了filter也无效。

热点排行
Bad Request.