情况一:当从前端通过url传递中文参数到后端出现乱码
解决方案:
前端
href : '${path }/admin/htempchange/viewPage/'+id+'/'+encodeURI(license)+'/'+licensecode+'/'+vin+'/'+'${flag}',
通过encodeURI("中文参数")将参数进行url编码
后端
request.setAttribute("license", URLDecoder.decode(license,"UTF-8"))
通过URLDecoder.decode()方法进行解码
情况二:当从前端通过url传递中文参数前,通过url编码之后,后端接受的还是乱码
解决方案:
前端
href : '${path }/admin/htempchange/viewPage/'+id+'/'+encodeURI(encodeURI(license))+'/'+licensecode+'/'+vin+'/'+'${flag}',
通过encodeURI(encodeURI("中文参数"))双层编码
后端
request.setAttribute("license", URLDecoder.decode(license,"UTF-8"))
情况三:当后端接收到的数据没有乱码,但是存入数据库中,数据库里的数据乱码
在配置数据库url后面添加参数 ‘characterEncoding=utf8’ 即可解决
url: jdbc:mysql://192.168.116.170:3306/mall_pms?useUnicode=true&characterEncoding=utf8&autoReconnect=true