最近在编程的时候,发现分别用get和post发送中文数据,后者可以得到正确结果,
前者却是乱码。查了些资料,发现服务器对post和get请求的数据的编码处理是不一样的
。现把tomcat下get和url直接发送请求乱码的解决办法列举如下:
方法1.
String name = request.getParameter("name");
byte[] bs = name.getBytes("ISO-8859-1");
name = new String(bs,"UTF-8");
方法2.
1) 打开tomcat的server.xml文件,找到区块,加入如下一行:
URIEncoding=”GBK”
完整的应如下:
<Connector
port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="GBK" />
或者
将useBodyEncodingForURI参数设置为true,这个据说是可以,但我测试的时候没有
成功,估计是哪一块设置还有问题,好烦,算了,有一种方法能用就行了。
2)重启tomcat,一切OK。
另外,如果用url发送请求,请求的数据中含有%号,resin得到的是乱码,tomcat得
到的是空值,我的解决办法是把%改成%25,应该还有其他办法,欢迎补充。
这种 :
String keyword = new String(request.getParameter("keyword").getBytes("iso8859-1")) ;
分享到:
相关推荐
FORM表单中文乱码问题分析与解决 在 Web 开发中,中文乱码问题是一个常见的问题,尤其是在FORM表单传递参数时。...使用正确的编码方式和解码方式可以解决中文乱码问题,从而确保FORM表单中的中文参数传递正确。
EXT框架(通常指的是Ext JS)作为一种成熟且功能丰富的JavaScript库,提供了强大的UI组件和便捷的数据处理方法,其中就包括了异步提交FORM表单的功能。 #### 二、EXT异步提交FORM表单的基本原理与实现 ##### 2.1 ...
### Ajax开发过程中表单提交数据出现乱码及解决办法 在进行Ajax开发的过程中,经常会遇到一个令人头疼的问题:表单提交的数据出现乱码。这个问题主要出现在客户端与服务器端编码不一致的情况下,导致数据传输过程中...
本篇文章将详细介绍如何解决JSP页面提交时出现的乱码问题,包括GET请求和POST请求两种常见的情况。 #### 一、问题背景与分析 1. **GET请求乱码**: - GET请求是通过URL来传递参数的,这些参数通常会以编码的形式...
对于Web应用,当用户通过表单提交数据时,可以通过设置表单的`method`属性为`POST`来避免GET请求导致的乱码问题: ```html <form action="xxx.do" method="post"> ``` 同时,在Servlet或Filter中设置请求编码为UTF...
**描述:** 在使用POST方式提交表单时,服务器接收到的数据可能会出现乱码。 **解决方案:** 1. **自动转换:** 使用`request.setCharacterEncoding("UTF-8")`在接收请求之前设置字符集编码。 2. **手动转换:** ...
本示例主要涉及如何使用AJAX来提交表单,并解决在提交中文数据时可能出现的乱码问题。 首先,我们了解AJAX的基本结构。一个基本的AJAX请求通常包括以下几个步骤: 1. 创建XMLHttpRequest对象:这是AJAX的核心,...
1. 表单提交时出现乱码:这是Web开发中常见的问题,特别是当使用GET或POST方法提交表单时。对于GET请求,由于数据附加在URL后,服务器默认可能使用ISO-8859-1编码,这时需要在服务器端使用指定的编码方式(如UTF-8)...
POST请求中的乱码问题相对较少,通常可以通过设置表单提交的编码格式来解决。例如,在HTML表单中指定`enctype`属性。 ```html <form action="submit" method="post" enctype="application/x-...
本文主要针对两种常见的HTTP请求方法——POST和GET,分析了在form表单提交数据时遇到的中文乱码问题,并提供了相应的解决方案。 一、POST方式提交数据的中文乱码问题 当用户通过表单以POST方式提交包含中文字符的...
如果用户通过表单提交中文数据,可能会出现乱码。此时可以通过在代码中加入`request.setCharacterEncoding("GBK")`来解决问题: ```jsp request.setCharacterEncoding("GBK"); String str = request.getParameter...
- **GET**: 在使用GET请求时,如果客户端和服务器端编码不一致,可能会出现乱码问题。 - **POST**: 同样存在乱码问题,可以通过设置Content-Type和服务器端编码来解决。 7. **实现细节**: - **GET**: 参数直接...
当表单数据以POST方式提交时,Tomcat默认使用iso8859-1编码处理请求参数,而接收端JSP可能期望的是UTF-8编码,这就需要采取措施进行转换。 解决POST提交乱码的方法有以下几种: A. 手动转换:在接收参数时,先将...
使用GET方式提交表单时,由于URL默认使用`ISO-8859-1`编码,因此可能会出现乱码问题。 **解决方法**: 1. **参数解码**: 类似于POST方式的解码方法,手动对每个参数进行解码。 2. **修改Tomcat配置**: 修改`...
如果表单数据使用UTF-8编码,就会出现乱码。 - 解决方案A:在接收参数时手动进行编码转换,例如`String str = new String(request.getParameter("something").getBytes("ISO-8859-1"), "utf-8");` - 解决方案B:在...
在使用jQuery进行Web开发过程中,表单序列化是一项常见的操作,它允许开发者将表单中的输入元素编码成URL编码格式的字符串,通常用于表单提交。然而,在处理包含中文字符的表单时,我们可能会遇到序列化后的数据出现...
当用户在表单中输入中文字符并提交时,如果服务器端和客户端的字符编码不一致,就可能出现中文乱码的情况。这主要是因为HTTP协议默认使用的是ISO-8859-1编码,而这个编码并不支持中文字符,所以当服务器接收到中文...
在开发Web应用时,尤其是使用Java的JSP技术,开发者经常会遇到中文乱码的问题。这是因为字符编码不一致导致的,特别是在处理用户输入或从数据库获取数据时。本篇将详细介绍如何解决JSP传值过程中出现的中文乱码问题...
本文详细介绍了JSP开发中常见的几种乱码问题及其解决方案,包括页面显示乱码、表单提交乱码以及数据库操作乱码等问题。通过设置正确的编码格式、合理配置数据库连接以及适当的字符串转换,可以有效解决这些问题,...
4. **上传文件时的乱码**:使用`enctype="multipart/form-data"`的表单提交文件时,需要在Servlet中解析MultipartFile对象时指定正确的编码,例如使用Apache Commons FileUpload库。 5. **Eclipse和MyEclipse中的...