java中get请求的中文乱码问题

表单采用Get方式提交,解决乱码的方法为:

方式一:手动解码

param = new String(param.getBytes("iso8859-1"), "utf-8");

此方式,依赖于服务器

方式二:配置tomcat

修改tomcat的server.xml:    URIEncoding="utf-8"

此方式,依赖于服务器

方式三:url编码(不依赖Tomcat的配置,推荐):

浏览器中两次URL编码。

var param = "中";

param = encodeURI(param);

alert(param);

param = encodeURI(param);

alert(param);

     讲param编码两次之后传递到后台

服务器中自己再做一次URL解码。

参数传递到服务器时候,服务器会对参数自动的做一次解码,我们只需要自己手动解码一次

java.net.URLDecoder.decode(param, "utf-8");

java.net.URLDecoder.decode(param, "utf-8");  //url解码

java.net.URLEncoder.encode(param, "utf-8");   //url编码

时间: 2024-11-10 10:38:42

java中get请求的中文乱码问题的相关文章

Java中使用FileputStream导致中文乱码问题的修改方案

1 package com.pocketdigi; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.InputStreamReader; 8 import java.io.OutputStreamWriter; 9 10 public class Main { 11

java中URL参数的中文乱码问题

**同学们在url传参的时候 是否应为传了中文导致各种乱码问题呢? URL传参中文对于程序员来说,是个很头疼的问题吧.虽然在尽量避免使用中文参数,但总有避免不了的时候.现就自己的经验,总结如下:** 1.将字符串转码:newString("xxxxx".getBytes("iso-8859-1"),"utf-8") 这种转码方式有很大的弊端,因为它是使用指定的字符集将此String编码为 byte 序列,并将结果存储到一个新的byte 数组中,然

2017.6.17 jsp中 get请求的中文乱码问题的解决方法

一般Tocant 的url编码是iso-8859-1(查看tocat/conf/server.xml 中的Connector 节点没有写URIEncoding="xxxxxx") 如下: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 最后我这个问题是这么解决:

Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】

转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录名及文件名中的中文显示为“??”. 原因: FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码. 解决方案: 1.将中文的目录或文件名转为iso-8859-1编码的字符.参考代码: 复制代码 代码如下: String name="目录名或文件名"; name=

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

详解get请求和post请求参数中文乱码的解决办法

首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解决办法 对于get请求解决中文乱码有两种途径一种是修改tomcat默认的编码方式为"UTF-8" 在tomcat的server.xml里把 <Connector connectionTimeout="50000" port="8080" pro

使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)

前述: 在写这篇笔记之前,对笔记中的设计模式进行介绍: 本篇笔记中将要使用到的设计模式是:装饰(包装)设计模式 (1)装饰(包装)设计模式口诀: ①定义一个类,实现被装饰对象的接口 ②定义一个成员变量,记住被装饰对象的引用 ③定义构造方法,传入被装饰对象的实例 ④改写要修改的方法 ⑤不需要改写的方法,调用被装饰对象的原来的方法 (2)什么时候使用装饰设计模式 当我们需要对一个类进行增强的时候,增强后的类不再当前类的范畴 例如:现在有一个     Animal类     Cat和Dog都属于动物类

SpringMVC 解决GET请求时中文乱码的问题

<filter>        <filter-name>CharacterEncoding</filter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>        <init-param>            <param-name>encoding</param

使用SpringMVC参数传递时,解决get请求时中文乱码的问题

问题描述: 使用SpringMVC参数传递时, 遇到get请求中文信息时,页面应答会显示中文乱码. 解决办法: 一,  我们需要把request.getParameter(“参数名”)获取到的字符串先用ISO-8859-1编码成字节流,然后再将其用utf-8解码成字符流,代码如下: String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8"