今天有人在群里问提交乱码怎么搞?
核心理念:编码格式和解码格式只要一致,就不会出现乱码
首先:每个浏览器发送数据的编码都不一致,但是默认情况下的TomCat解码是肯定的,那就是ISO-8859-1,所以如果你不打一套太极,那肯定是要乱码的
第一招:修改tomCat的默认解码为UTF-8,找到配置文件
不费吹灰之力的打开它,并在指定位置添加 : (不知道在哪 看左边行数)
重启服务器之后,我们的服务器的默认解码方式就被我们调教成 UTF-8 了
现在的情况是: 规定了用utf-8解码 ,但是还没规定用什么编码,必须二者相同,才能搓太极,
get提交的话 因为我们已经在服务器里设置了编码,发送数据的时候,就会是 utf-8,所以不用管了, get提交已经被解决了
post 提交的话,需要对请求编码格式进行设置 : request.setCharacterEncoding("utf-8");
OK ! 现在get和post 在后台获取数据都是不会乱码了 ,但是后台发送给前台又是乱码 这个又咋搞?
有一个方法,无论是字节流还是字符流: response.setContentType("text/html;charset=utf-8"); 打完收功? NO 这个只是针对修改了服务器编码的朋友来说
如果你不想一劳永逸,只图当前安逸,那你可以这么玩 在获取数据之前先把数据转回到 ISO-8859-1的字节去,,然后再重新编码为utf-8
花架子招式为:String username = new String(“热心网友”.getBytes(“iso-8859-1”),“UTF-8”);
若有错误,欢迎指出修正
原文地址:https://www.cnblogs.com/msi-chen/p/10217392.html