提交乱码?

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

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

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

时间: 2024-10-12 16:50:31

提交乱码?的相关文章

java -- 提交乱码汇总

* 提交乱码 * * GET :(参数在地址栏提交,地址栏也有自己的编码,默认是老外的iso-8859-1) * * 修改Tomcat默认字符集.(影响范围太大,可能影响大其他项目,不建议使用) * * URLEncoder和URLDecoder类进行(的就行2回) * * new String(s.getBytes("ISO-8859-1"),"UTF-8"); * * POST : * * request对象的缓冲区默认是ISO-8859-1. * * requ

eclipse中修改tomcat的配置,解决全局性的get提交乱码问题

在项目中如果页面提交方式为get的时候,中文会出现乱码. 为了解决乱码问题我们有两种办法. 第一种:在程序中加入get提交乱码的解决 String username = new String(username.getBytes("ISO-8859-1"),"UTF-8"); 这种方式只要有需要,每个方法都需要添加get乱码问题的解决代码,总的看来还是挺麻烦的. 第二种:直接修改tomcat的配置,一次性的解决全局get提交乱码问题. 1.eclipse中找到你的项目

GET和POST提交乱码解决方案

写在开头: 一般说来在每个页面的开始处,都会加入: <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%> contentType="text/html;charset=UTF-8"的作用是指定对服务器响应进行重新编码的编码, 当我们提交表单时浏览器会根据contentType对表单的内容进行

textarea中文提交乱码问题解决

在A.jsp中有如下语句: <textarea rows="10" cols="30" name="texts"><%=rs.getString(3)%></textarea> 在B.jsp中有如下语句: request.setCharacterEncoding("utf-8"); String texts=request.getParameter("texts"); 运

spring mvc form表单提交乱码

spring mvc form表单submit直接提交出现乱码.导致乱码一般是服务器端和页面之间编码不一致造成的.根据这一思路可以依次可以有以下方案. 1.jsp页面设置编码 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><meta http-equiv="Content-Type"

URL编码以及GET和POST提交乱码解决方案 (转)

1.  什么是URL编码. URL编码是一种浏览器用来打包表单输入的格式,浏览器从表单中获取所有的name和其对应的value,将他们以name/value编码方式作为URL的一部分或者分离的发送到服务器上. 2.  URL编码规则. 每对name/value由&分开,每对来自表单的name/value用=分开.如果用户没有输入值的那个name依旧会出现不过就是没有值. URL编码是在字符ASCII码的十六进制数的前面加上%.例如\(她的十六进制数表示为5c)的URL编码就是%5c. 3.  简

Ajax提交乱码

1. 页面码 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1.1 如下图,传入到后台,显示正常,不为乱码 $.ajax({ url:"/flowctrl/saveMessageAction.do?message="+"姓名", type: "get", //data:{message:aa}, dat

关于get方式提交乱码的问题。

这个原因是服务器导致的,服务器比如tomcat接收get方法默认使用的是ISO-8859-1编码,而浏览器发送时文字编码是和页面编码保持一致的,如果页面是使用utf-8 编码 get方法文字自然是使用utf-8编码,但接收服务器没有设置的情况下用了ISO-8859-1编码接收,中文自然就成乱码了,不过由于ISO-8859-1编码是单字节编码所以我们可以使用getBytes("ISO-8859-1"),"utf-8"这样把文字重新转换成utf-8 编码. 第一个发送的

ajax、form提交乱码

ajax 传参乱码:encodeURI(encodeURI(username)) form 传参乱码:request.setCharacterEncoding("UTF-8"); tomcat  中文乱码:URIEncoding="UTF-8"