AJAX的url中文参数问题

[复制链接]
查看11 | 回复2 | 2008-2-28 17:38:35 | 显示全部楼层 |阅读模式
xmlHttp.open("GET",url);相当于是在浏览器中敲入url然后按回车的效果,那样是不能直接传中文参数的.比如:http://127.0.0.1:8080/servlet1?name=中文这样写不行.应该用javascript的函数encodeURIComponent()对"中文"进行编码形成编码后的字符串,然后在servlet中用iso-8859-1对该字符串进行解码,即可得到正确的中文.
回复

使用道具 举报

千问 | 2008-2-28 17:38:35 | 显示全部楼层
有可能是应用服务器的默认编码设置的问题。如果应用服务器(如tomcat)的编码没有改过,则你使用ajax方式访问数据时服务器端有可能出现乱码。楼上两位提供的方法如果不行可以试试这个String aaa=new String(request.getParameters("aaa").getBytes("iso-8859-i"),"gb2312");其中iso-8859-i为服务器默认编码
回复

使用道具 举报

千问 | 2008-2-28 17:38:35 | 显示全部楼层
后台在接收前先进行编码转换:request.setCharacterEncoding("UTF-8");
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行