操作系统语言环境导致ie11ajax请求中文编码问题

环境:
win10系统语言环境(管理语言设置):中国 台湾 即 big5
浏览器:ie11
url=http://localhost:7022/mycim2/ajaxflush.do?test=信

后台获取

request.setCharacterEncoding(“big5”);
test= request.getParameter(“test”);
System.out.println(“信”.equals(test));//结果为true
//byte[] big5xin = { -85, 72 };//字符"信"的big5字节码

结论:
ie11浏览器的ajax get请求url默认由操作系统语言环境编码

存在的问题:
如果url包含big5不支持的中文,导致后台永远无法正确获取url中的字符,所以要避免默认编码

解决办法
一、前端:
1.1参数用encodeURIComponent(test)编码或 序列化$.param({test:test})后再追加到url后面
1.2直接改post请求
二、后台:
2.1 设置request.setCharacterEncoding(“UTF-8”)后直接获取参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值