2014-09-04|1735阅|作者:蓝色理想|举报 摘要: 当url查询参数中有中文时,tomcat会帮助我们把中文按照默认的iso-8859-1进
行编码,这时因为iso-8859-1没有中文字符集,所以会乱码,这是真正意义上的
乱码,因为这种乱码是不可逆的,那怎样才能解决这种不可逆的问题呢?没错!
那我们就不让它按照默认的is0-8
当url查询参数中有中文时,tomcat会帮助我们把中文按照默认的iso-8859-1进
行编码,这时因为iso-8859-1没有中文字符集,所以会乱码,这是真正意义上的
乱码,因为这种乱码是不可逆的,那怎样才能解决这种不可逆的问题呢?没错!
那我们就不让它按照默认的is0-8859-1编码,我们先让它按照utf-8或者gbk格式
编码,然后tomcat一看中文已经被编码了,就不会再为我们编码了,那么后台当
调用request.getParameter()方法时,也会按照tomcat默认的iso-8859-1解码,
因为编码解码不统一,结果依然会乱码,那怎么办?经过验证,只要第一次编码和最后一次解码的格式相同即可正确解码(即使中间的编码解码格式不统一也可以),那么,我们在后台增加一次手动解码就好了,为了匹配前台也要加一次编码,这样前台一共有两次手动编码的代码,而后台有一次手动解码的代码,所以会出现网上说的前台两次编码,后台一次解码的说法。