情况一:当从前端通过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
本文介绍了三种处理URL传递中文参数乱码的情况,包括前端使用encodeURI进行编码,后端使用URLDecoder.decode进行解码。同时,针对数据库中存储的数据乱码问题,提供了解决方案,即在数据库URL后添加'characterEncoding=utf8'参数。
222万+

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



