程序中需要使用url将数据传输给后台,后台接收后发现汉字乱码了。
前台路径:'${path }/admin/imquery/excel?vehicleplatenumber='+ $("#vehicleplatenumber").val()
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TWU9UNFpHWrhXbjZHZzgld4dkYshmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1QTO3ITN1ADM0IzMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
于是在拼接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 为什么要编码两次