ajax后台接收中文乱码,后台接收ajax提交的中文参数乱码问题及解决办法(附各种编码解释)...

1.UrlEncode:将字符串以URL编码,所有的中文参数都会在传输过程中转化为url编码

2.iso-8859-1:是JAVA网络传输使用的标准 字符集

tomcat默认接收的编码级.

3.pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码。

4.contentType="text/html;charset=UTF-8"的作用是指定对服务器响应进行重新编码的编码。

5.页面文件编码与pageEncoding相同,否则会在jsp页面编译成servlet的时候出现乱码,进而导致响应的页面出现乱码

6.

iso-8859-1是JAVA网络传输使用的标准 字符集,而gb2312是标准中文字符集,一般是操作系统使用的文

字编码方式。

因此,当字符在网络中传递时,不管对于这个字符是怎么编码的,java都认为它是iso8859编码,因此按

照iso8859到unicode的转换规则,变成java保存字符的unicode编码,此时如果直接显示该字符时,将出

现乱码,因为它本身并不是iso8859的编码,而是GBK方式,对应unicode码自然也不正确,所以这时需要

做的是先将这个字符码可逆的转化为原先的编码值即GBK值,(转化方法就是通过getBytes(ISO-8859-1)

得到),然后java才将此GBk值的字符,以gbk到unicode的转化规则保存为java默认方式unicode码。

7.

那么我们可以得到一个编码转换的过程

假设:GBK码("你")->URLencode后变成->(?/)->Tomcat自动替你转一次ISO-8859-1->得到(

23 43 68

23 42 68

每一个符号表示为ISO-8859-1中的一个编码)->接收页面--->再转一次为ISO-8859-1的Byte数

组[23,43,68,23,42,68]--->用GBK再转为可读的文字--->(?/"---->转为("你")

解决办法:

name:从前台接受的用户名..

byte []  cc =

name.getBytes("iso-8859-1");

System.out.println(new String(cc,"gbk"));

文章转载请注明来源。新辉网主页 > 网页基础 > Javascript/Ajax >

标题:后台接收ajax提交的中文参数乱码问题及解决办法(附各种编码解释)

地址:http://www.a55.com.cn/a/7284.html

关键词:后台接收ajax提交的中文参数乱码问题及解决办法(附各种编码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值