提交乱码?

Posted msi-chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提交乱码?相关的知识,希望对你有一定的参考价值。

今天有人在群里问提交乱码怎么搞?

  核心理念:编码格式和解码格式只要一致,就不会出现乱码

  首先:每个浏览器发送数据的编码都不一致,但是默认情况下的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”); 

 

若有错误,欢迎指出修正

 

以上是关于提交乱码?的主要内容,如果未能解决你的问题,请参考以下文章

PHP $_POST提交中文乱码

javaweb表单提交中文乱码问题?

jsp页面表单提交,controller接收乱码,数据库乱码等解决方法

Android Studio 升级后 中文文件、Git提交记录乱码解决方案

java form表单递交出现乱码

HTML表单提交到Servlet中的乱码问题?