2020-08-09

以GET方式发送中文参数内容时,得到正常结果。但以POST方式发送中文参数内容,得到“乱码”结果。原因:

浏览器以GET方式发送请求,请求参数保存在【请求头】,在Http请求协议包到达服务器之后,第一件事就是进行解码。请求头二进制内容由Tomcat负责解码,Tomcat9.0默认使用【utf-8】字符集,可以解释一切图形文字,故不会出现乱码情况。

浏览器以POST方式发送请求,请求参数保存在【请求体】,在Http请求协议包到达Http服务器之后,第一件事就是进行解码。请求体二进制内容由当前请求对象【request】负责解码。request默认使用【ISO-8859-1】字符集,【一个东欧语系字符集】。如果此时请求体参数内容是中文,将无法解码只能得到乱码。

解决方案:在POST请求方式下,在读取请求体内容之前,应该通知请求对象使用UTF-8字符集对请求体内容进行一次重新解码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值