GET和POST方式的乱码问题

①,POST方式:

这种方式比较简单,浏览器页面编码是什么格式,后台就用什么格式进行编码,只要在后台加上代码:

request.setCharacterEncoding("SHIFT-JIS");//浏览器的编码格式

②,GET方式:

放在URL后面带的参数的编码和HTTP BODY里的编码不一样,它是系统默认的编码格式,(如日文系统是Shift_JIS)对请求的URL进行编码处理的是webserver,不是servlet,所以,用"request.setCharacterEncoding("SHIFT-JIS");"这样的代码是无效的,所以解决方法是(以Tomcat为例),修改Tomcat的server.xml文件如下:

1 <Service name="Catalina">
2     <Connector port="8080" protocol="HTTP/1.1"
3                connectionTimeout="20000" URIEncoding="Shift_JIS"
4                redirectPort="8443" />
5 </Service>

在配置文件中添加:URIEncoding="Shift_JIS", 就可以了。这样,URL后面带的参数就不会乱码了。

GET和POST方式的乱码问题

时间: 2024-11-23 17:10:02

GET和POST方式的乱码问题的相关文章

javaweb解决post和get请求方式中文乱码问题(通用)

添加一个过滤器,解决乱码问题,代码如下: 1 import java.io.IOException; 2 import java.io.UnsupportedEncodingException; 3 import java.util.Map; 4 5 import javax.servlet.Filter; 6 import javax.servlet.FilterChain; 7 import javax.servlet.FilterConfig; 8 import javax.servlet

springMVC解决get方式请求乱码问题&lt;阿录帮帮忙&gt;

01-[思路] 众所周知,如果是post的请求可以根据web.xml中配置org.springframework.web.filter.CharacterEncodingFilter方式来解决乱码问题, 但是get方式得请求没有被过滤器设置为想要的编码.只有通过get的请求路径去思考如何解决编码问题. 02-[解决方法01-代码解决] String des=new String(testname.getBytes("iso-8858-1"), "utf-8"); t

关于java中 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 get方式传值乱码问题

我的解决方式是:对需要传递的中文先进行编码:encodeURIComponent('你好'); <script type="text/javascript">        function getText(){            var xhr = getXhr();            var hello = encodeURIComponent('你好');            xhr.open("get","testEncode

Java文件读写操作指定编码方式防乱码

读文件:BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求.因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader).例如, BufferedReader in   = n

get方式中文乱码问题

<a target="_blank" href="ftpFileAction!downloadFile.action?filename=测试.xml">点击下载</a> 如果当前页面编码是utf-8. 这里是main.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-

关于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 编码. 第一个发送的

Get Post请求方式后端乱码问题

第一次遇到这个问题,尝试了网友几乎所有的操作 1.Tomcat修改Server.xml里的Connector添加URIEncoding="UTF-8" 2.JSP页面form表单提交accept-charset="UTF-8", 3.web.xml层配置拦截器, 4.windows里Preferences里的WEB里的JSPFILES里的encoding改成UTF-8都不行, 第一次遇到这个问题也找了好久才找到一个强转方法 String username=reque

request、response 中文乱码问题与解决方式

request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符,服务器获取到的请求参数的值是乱码: response乱码指的是:服务器向浏览器发送的数据包含中文字符,浏览器中显示的是乱码: 乱码产生的原因:不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的.以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器之间的通信实质上是socket流,所以要先将请求参数(字符)转换成字节,也就是编码过程,服务器接收到请求