程序中需要使用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进行编码,但未解决问题。接着采取了二次encodeURI编码,成功避免了乱码,但在后台接收到的数据仍非汉字。最后通过后台使用URLDecoder.decode进行解码,成功恢复汉字正常显示。总结了前端编码两次的原因及必要性。
1621

被折叠的 条评论
为什么被折叠?



