[求助]无法使用Ajax提交中文数据!

捏造的信仰 2006-02-21 01:22:26
页面编码为GB2312,向Servlet提交“中华人民共和国万岁!”,Servlet接收到的却是“涓????浜烘????卞????戒??宀?锛?”Servlet编码同样是GB2312。在Web服务器中已经设置了传入参数都作GB2312处理。如何解决?谢谢!
...全文
144 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CFZC 2006-02-27
  • 打赏
  • 举报
回复
gb2312
zorro09 2006-02-27
  • 打赏
  • 举报
回复
你的页面也换成GBK吧~~,不过最好的方式还是用UTF-8
zorro09 2006-02-27
  • 打赏
  • 举报
回复
Servlet中加上 request.setCharacterEncoding("GBK");
meizz 2006-02-27
  • 打赏
  • 举报
回复
页面编码改成UTF-8,页面文件也另存为UTF-8。
programdolt 2006-02-27
  • 打赏
  • 举报
回复
我escape后传过去的参数为NULL,不进行escape传过去的英文正常,中午乱码。我是用 http_request.send(data);传送数据过去的。
如果直接在url后面加?test=中文,这个没问题,把ISO-8859-1转为GBK就可以了。
Iamshigang 2006-02-21
  • 打赏
  • 举报
回复
ding
捏造的信仰 2006-02-21
  • 打赏
  • 举报
回复
试过了,不行。

不过这个先放一边,我发现一个问题,比方:
String str = "王老五";
String teststr = new String(str.getBytes("GB2312"), "UTF-8");
String recover = new String(teststr.getBytes("UTF-8"), "GB2312");

按道理讲recover的内容应该会恢复成str的内容一样吧,但是显示出来recover还是乱码,这是为什么呢?
usaspy 2006-02-21
  • 打赏
  • 举报
回复
先转单字节码 iso-8859-1,然后再转成GB2312

new String(str.getBytes("ISO-8859-1"),"GB23212")

81,092

社区成员

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

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