我们时常遇到在前端js里面url传参数的时候,带有特殊字符,比如: @ * / +等,在进行解码的时候出现丢失现象。
例如:前端用encodeURIComponent(str)进行编码
后台用URLDecoder.decode(str, "UTF-8")进行解码
如果str内容带有+等特殊字符,在解码的时候会当成空格处理,这个时候出现丢失现象。
解决办法:编码两次,解码两次。
前端:encodeURIComponent(encodeURIComponent(str))
后台:URLDecoder.decode(URLDecoder.decode(resultInfo, "UTF-8"),"UTF-8");