通过url传输数据,汉字乱码

本文详细记录了解决前后端交互过程中汉字乱码问题的过程。首先尝试使用encodeURI进行编码,但未解决问题。接着采取了二次encodeURI编码,成功避免了乱码,但在后台接收到的数据仍非汉字。最后通过后台使用URLDecoder.decode进行解码,成功恢复汉字正常显示。总结了前端编码两次的原因及必要性。

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

程序中需要使用url将数据传输给后台,后台接收后发现汉字乱码了。

前台路径:'${path }/admin/imquery/excel?vehicleplatenumber='+ $("#vehicleplatenumber").val()

在这里插入图片描述

于是在拼接url时使用encodeURI()对汉字进行编码,不过事情仍然没有解决,乱码依然存在

前台路径:'${path }/admin/imquery/excel?vehicleplatenumber='+ encodeURI($("#vehicleplatenumber").val())

在这里插入图片描述

在百度的加持下,使用encodeURI()进行二次编码,传到后台的数据不乱码了,但是还不是汉字(写博客的时候发现后台的接受到的是汉字了,为了保险起见,我还是对数据进行了解码)。

前台路径:'${path }/admin/imquery/excel?vehicleplatenumber='+ encodeURI(encodeURI($("#vehicleplatenumber").val())) 
后台数据解码 vehicleplatenumber =URLDecoder.decode(vehicleplatenumber,"UTF-8");

对接受的数据进行解码后,数据终于正常。

拓展:前端 encodeURI 为什么要编码两次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello_world_1996

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值