关于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 编码。

第一个发送的文字是utf-8编码 而tomcat接收后用错误的ISO-8859-1编码了,这样getBytes("ISO-8859-1")后会重新得到正确的utf-8编码的字节数组 ,然后用 new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8")重新将字节编码成UTF-8编码的文字这样文字就正确了。

如果是tomcat的话 server.xml文件里<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"  redirectPort="8443" URIEncoding="UTF-8"/>后边的URIEncoding就是设置get方法编码的如果没有指定URL接收的编码类型,自动会用ISO-8859-1编码
时间: 2024-10-12 16:50:28

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

springmvc,通过ajax方式提交页面数据,后台返回json数据中文信息乱码

本人刚开始接触springmvc,项目搭建参照https://my.oschina.net/gaussik/blog/385697.在用IDEA写登录注册的时候,想通过ajax方式提交数据到后台,然后遇到如题所述的乱码问题,然后度娘了好多,终于解决了.废话不多说,直接上代码. 首先是登录页面login.jsp 1 <%-- 2 Created by IntelliJ IDEA. 3 User: PENG027 4 Date: 2016/11/11 5 Time: 15:48 6 To chang

HTML使用post方式提交中文内容出现乱码的错误解决方式

今天在做一个例子的时候,使用post方式提交表单,如果有中文的话,在另一个页面显示出来的时候,总是会出现乱码: 但是将提交方式改为get的时候,就不会出现这种错误. 详细错误见下面图片和代码. HTML代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

表单以get方式提交出现中文乱码解决办法

如果表单是以get方式提交就会出现中文乱码 这时可以在tomcat中配置解决中文乱码问题. 解决办法方法如下: 在tomcat文件夹下的conf中找到server.xml文件  在端口处添加  <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8&qu

采用Post请求的方式提交参数并导出excel

一般情况下,我们都是采用get请求的方式导出excel.例如采用如下方式: var exportUrl = '/xxx;'; window.open(exportUrl); 导出excel所需的逻辑参数拼接到url上即可. 但是,如果我们需要提交大量的参数到后台才能导出excel, 亦或者我们提交的参数中有中文,get提交乱码了,那么就可能想使用post提交的方式来导出excel.因为post提交支持更多的参数,从而能解决get提交对url长度的限制问题. 然而,一般的post提交表单,意味着主

Android 通过GET和POST方式提交参数给web应用

如何把数据上传到web应用 应用界面: 视频名称:title 时长:timelength 保存,点击保存按钮提交到web应用中,web应用中开发Manageservlet来接收数据. get方式 服务端: public class ManageServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request,H

java -- 提交乱码汇总

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

post方式get方式提交表单的主要区别

post方式get方式提交表单的主要区别: 使用表单给网站后台提交数有种两种方式,一种是post方式,一种是get方式,下面就简单介绍一下这两种方式的主要区别. 一.post方式: 此方式一般用于传递较大的数据,在数据传递之前会有打包操作,所以可能会造成数据传递数据相对较慢的情况,不过传输的数据都能够被正确的解析,不会出现类似于中文乱码的状况. 二.get方式: 通过url链接传递数据,和post相比传输的数据量较小,而且传递的数据必须是ASCCI码值范围内的,因此传递中文的时候可能会出现乱码情

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

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

提交乱码?

今天有人在群里问提交乱码怎么搞? 核心理念:编码格式和解码格式只要一致,就不会出现乱码 首先:每个浏览器发送数据的编码都不一致,但是默认情况下的TomCat解码是肯定的,那就是ISO-8859-1,所以如果你不打一套太极,那肯定是要乱码的 第一招:修改tomCat的默认解码为UTF-8,找到配置文件 不费吹灰之力的打开它,并在指定位置添加 : (不知道在哪  看左边行数) 重启服务器之后,我们的服务器的默认解码方式就被我们调教成  UTF-8 了 现在的情况是: 规定了用utf-8解码 ,但是还