EasyDemo*GET&POST乱码问题

博客主要探讨AJAX请求中的编码问题。POST请求乱码是因浏览器用UTF - 8编码,服务器用iso - 8859 - 1解码,可通过设置字符编码解决;GET请求乱码是不同浏览器编码方式不同,服务器默认用iso - 8859 - 1解码,可修改服务器配置和对请求地址编码来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、编码问题

   1.POST请求时的乱码问题

    1.1乱码产生的原因

*所有浏览器提供的AJAX对象对请求参数使用UTF-8进行编码

*服务器默认使用iso-8859-1去解码

*编码与解码不同就会产生乱码

1.2解决办法

*request.setCharacterEncoding(“UTF-8”);

*注:火狐就不用这句代码,是因为这个浏览器会再发送的请求数据包中告诉服务器,它是哪种方式进行的数据编码

2.GET请求时的乱码问题

1.1为什么会产生乱码

*IE浏览器提供的Ajax对象会使用GBK字符集对请求参数进行编码,而其他浏览器会使用UTF-8来编码

*服务器默认情况下会使用iso-8859-1进行解码

*编码与解码不一致即产生乱码

1.2解决GET请求时的乱码问题

*step1

-指定字符集进行解码

-比如:tomcat可修改conf/server.xml文件中<Connector URIEcoding=”utf-8”>,S使得tomcat按utf-8方式解码

*step2

-使用encodeURI对请求地址进行编码

-encodeURI会使用utf-8对请求地址中的中文参数进行编码

-其实问题的根本原因就是IE的与众不同,修改完成后,重启tomcat,不用IE来运行就会发现可以正常读取表单的get方式提交的中文

-针对IE浏览器GET请求乱码解决办法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值