使用jquery提交表单乱码的问题

胡博特 2009-03-24 12:53:49
环境:tomcat
语言:java

问题:
我通过jquery的ajax向tomcat服务器中提交申请的时候,如果使用firefox的话没有什么问题,但是如果使用IE的话,请求的参数无法读出。不知道是怎么回事?哪位高手遇到这个问题,请教教我。
其中:java的编码字符集是utf-8;jsp页面的编码是utf-8;html的编码也是utf-8;另外将jquery中ajax传输也是utf-8。另外再tomcat中启用了字符集过滤,将传过来的数据(form)都转换为utf-8字符集。
举一个例子:从客户端通过jquery的ajax请求http://localhost:1024/infolist.do?k=中国;提交到tomcat服务器之后,对其进行utf-8编码;然后读取出k参数,通过k参数查找内容并返回。使用firefox是没有什么问题;但是用ie的时候,k的值解码解不出来。
...全文
1966 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nbby1011 2010-02-04
  • 打赏
  • 举报
回复
String username = new String(context.getParameter("username").getBytes("ISO8859-1"), "UTF-8");
lucker888 2009-03-24
  • 打赏
  • 举报
回复
new String(request.getParameter("k").getBytes("ISO8859_1"),"gb2312");

字符集可选项:"gbk" "utf-8",你试试看
胡博特 2009-03-24
  • 打赏
  • 举报
回复
好了,终于搞定了,但是没有采用js的方法,而是直接通过服务器端进行encode的,灵感来源于2,3楼,现在我把解决的方法放在下面,以期能够帮助到碰到该问题的朋友。

其实很简单,在服务器端通过URLEncoder.encode将其进行编码即可。比如中国:则采用URLEncoder.encode("中国","utf-8");采用什么样的字符集则视您的系统采用的字符而定,因为我的系统是使用utf-8编码的。
胡博特 2009-03-24
  • 打赏
  • 举报
回复
ff下没有问题,另外我采用extjs也没有问题,用jquery的ajax出现问题,我先试试2,3楼的方法看看
sherry521 2009-03-24
  • 打赏
  • 举报
回复
将K参数Encode一下再传吧
确定FF下没事?不会是奇偶乱码的问题吧?
mumu_java 2009-03-24
  • 打赏
  • 举报
回复
js中有URLEncode()函数,lz在传中文的时候先用它转换一下.

var param1 = urlencode("中国");
...
http://localhost:1024/infolist.do?k=param1;
...

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧