`
阅读更多

*、解决java请求乱码三步走之一

在request.getParameter("param");前需要加
request.setCharacterEncoding(charset);
在PrintWriter p = request.getWriter();前需要加
response.setCharacterEncoding(charset);

 

*、解决java请求乱码三步走之二

对于post请求第一步基本完全可以解决问题,然而get请求并不给力,所以有了第二步
String str = request.getParameter("param");
str = new String(str.getBytes("ios-8859-1"),charset);
原理解释:post请求时参数存在于消息体中,而get请求则是在uri字段中,第一步的操作的目标仅仅是消息体中的数据,所以就有了这一步
替代方案是:在tomcat的server.xml添加URIEncoding="UTF-8"解决

 

*、解决java请求乱码三步走之三(终极解决方案)-更准确来说是js解决方案,不信你往下看!

如果以上方案还不能解决问题,那你真幸运能看到第三步,哈哈,那就去除第二步的转码操作,在URI传递参数时采用encodeURI(parm)进行数据转码,从而保证正确转码
该方案不需要后台代码的操作,URI中的中文参数采用encodeURI(encodeURI(param))转码即可
eg:
请求链接:href="#" onclick="[javascript:]location.href='pp.jsp?dd='+encodeURI(encodeURI('中文乱码'))";
切记切记click中的单双引号的位置
切记切记click中的单双引号的位置
切记切记click中的单双引号的位置
获取方法:String aimDD = request.getParameter("dd");
          aimDD = java.net.URLDecoder.decode(aimDD , charset);
          这里获取时采用一次的原因是因为request在获取已经自动转过一次编码

 

*、解决java请求乱码之jsp中嵌套java代码中的url乱码,so easy!

String aimStr = java.net.URLDecoder.encode(java.net.URLDecoder.encode(aimStr,"UTF-8"),"UTF-8");
java端两次编码
原理简述:第一次编码是将汉字编码为%和数字字母
          第二次编码是对%和数字字母进行编码操作
String aimStr = java.net.URLDecoder.decode(java.net.URLDecoder.decode(aimStr,"UTF-8"),"UTF-8");
java端两次解码
原理简述:第一次解码采用“iso-8859-1”和“utf-8”其实结果一致即第一次被转为%和数字字母格式的样子
          第二次解码方能转回汉字

 

----------------------------------------------------------基础搭建---------------------------------------------------------------

*、浏览器默认编码

ISO-8859-1

 

*、encodeURI()的功用

JavaScript函数,默认utf-8编码
一次encodeURI:若服务端保证是utf-8编码,那么一次即可
两次encodeURI:若服务端不能保证一定用utf-8编码,那么推荐使用两次编码方式
曾在jsp访问时使用终极方案才解决《乱码问号》问题-啊哈~

 

*、java代码块涉及的编码问题的解决启发

 

http://www.cnblogs.com/shitou/archive/2011/07/04/2097427.html
 

 

 

 

 

 

   

   

分享到:
评论

相关推荐

    Java Http请求传json数据乱码问题的解决

    在Java进行HTTP请求时,通常会遇到数据传输出现乱码的问题,尤其是在使用JSON格式传输数据,且数据中包含中文字符时更为常见。在HTTP协议中,字符编码的正确处理对于数据的正确传输至关重要。以下将详细介绍在Java中...

    Java关于中文乱码问题的多种解决方法

    在Java编程中,中文乱码问题是一个常见的困扰,尤其是在处理文件读写、网络传输或数据库操作时。本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中...

    get请求乱码问题 java

    下面将详细解析GET请求乱码的原因、解决方案以及如何正确处理字符编码,确保数据传输的准确性。 ### GET请求乱码的原因 #### 1. 编码格式不一致 GET请求中的参数是通过URL传递的,而URL在传输过程中可能会被多次...

    java中文乱码之解决URL中文乱码问题的方法

    在Java开发中,遇到中文乱码问题是一种常见的挑战,特别是在处理URL时。URL中文乱码问题主要是由于URL编码和解码过程中的不一致导致的。下面将详细介绍如何解决这个问题,并探讨几种常用的方法。 首先,我们需要...

    java中文乱码解决问题

    JAVA 中文乱码问题是开发过程中常见的问题之一,解决这个问题需要了解乱码产生的原因,然后对症下药。下面我们对容易产生乱码问题的场景进行分析,并提出解决方案。 1. 以 POST 方法提交的表单数据中有中文字符 在...

    java后台发起http请求 处理中文乱码

    ### Java后台发起HTTP请求处理中文乱码 在Java开发中,经常会遇到需要向其他服务器发起HTTP请求的情况。尤其是在跨服务器请求时,如果涉及到中文字符的传递,很容易出现乱码问题。本文将详细介绍如何通过Java代码...

    java获取乱码问题

    在Java应用开发过程中,字符编码问题一直是困扰开发者的一大难题,尤其是在处理HTTP请求中的中文或特殊字符时,经常会出现乱码现象。本文将详细介绍如何通过修改`server.xml`配置文件来解决Java应用中出现的乱码问题...

    jmeter5.0 解决请求参数中文乱码ApacheJMeter_http.jar

    在这个场景下,我们关注的是如何解决在使用JMeter 5.0版本时遇到的请求参数中文乱码问题。 首先,中文乱码问题通常是由于字符编码不一致导致的。在HTTP请求中,如果服务器和客户端对字符编码的理解不同,就可能导致...

    JAVA常见中文乱码问题解决方法

    Java编程语言在处理中文字符时可能会遇到乱码问题,这主要源于Java的源代码编码、JVM处理class文件以及不同操作系统、数据库系统之间的编码不一致。本文深入剖析了Java中文问题的根源,并提供了相应的解决方案。 一...

    java 中文乱码 处理

    以上介绍了几种常见的Java中文乱码处理方法,包括请求参数编码转换、字符串转义与反转义、前端JavaScript处理以及配置J2EE应用程序。每种方法都有其适用场景,开发者可以根据实际情况选择合适的方法来解决乱码问题。...

    java中文乱码问题详解--- java中文乱码问题详解

    ### Java中文乱码问题详解 #### 一、中文问题的来源与背景 计算机技术发展初期,操作系统主要支持单字节的ASCII字符集。随着全球化进程加快和技术进步,为支持多种语言,尤其是双字节编码的语言(如中文),提出了...

    java编程中乱码问题解决

    ### Java编程中乱码问题解决 在Java编程中,乱码问题是开发者经常遇到的一个难题,尤其是在处理中文或者其他非英文字符时。本文将详细介绍如何解决Java编程中常见的乱码问题,并提供具体的实例帮助读者理解。 ####...

    java中文乱码大全

    Java中文乱码问题是编程者在开发Java应用程序时经常遇到的问题,尤其是涉及到中文字符处理时。这些问题产生的根本原因在于Java内部采用UNICODE编码,而不同的操作系统和浏览器可能支持不同的编码格式,如Windows中文...

    java解决中文乱码问题

    Java 解决中文乱码问题 Java 中文乱码问题是中国程序员无法避免的话题。乱码的出现是由于中文和英文的编码格式不同,解码也是不一样的。如果中国的程序员不会遇到乱码,那么只有使用汉语编程。Han语编程是怎么回事...

    java插入数据乱码解决集锦

    ### Java插入数据乱码解决集锦 #### 一、Java中文问题的由来及核心问题解析 Java作为一种广泛使用的编程语言,在处理中文等多语言文本时可能会遇到字符编码不匹配导致的乱码问题。这些问题主要源于Java程序在不同...

    Java乱码学习 Java乱码学习

    Java 乱码问题一直是开发过程中常见的困扰之一,它涉及到字符编码的理解、文件编码的设定以及网络传输中的编码处理。本文将深入探讨Java编程中的乱码现象,并提供一系列的解决策略。 首先,我们要理解两个基本概念...

    java乱码自己解决的办法

    在Web应用中,Tomcat作为常用的服务器之一,其配置对于防止乱码至关重要。可以通过修改`server.xml`文件中的`<Connector>`元素,设置`URIEncoding`属性来指定URL参数的编码方式。例如,将`URIEncoding`设置为“gbk”...

    java处理中文乱码

    总结来说,处理Java中的中文乱码主要涉及字符编码的转换、请求处理器的定制以及过滤器的使用。在实际开发中,根据项目需求和所使用的框架,可以选择合适的方式来确保中文数据的正确显示和处理。同时,为了减少乱码...

    java+mysql 乱码

    - **Struts**:在Struts2的配置文件(如`struts.xml`)中,可以通过拦截器设置请求编码,以处理POST请求中的中文乱码。 ```xml ``` - **Hibernate**:在实体类的映射文件(`.hbm.xml`)中,可以添加`<meta>`...

    java传值中的乱码

    ### Java传值中的乱码问题及最简易的解决方法 在Java Web开发中,经常会遇到一个令人头疼的问题:客户端向服务器传递数据时出现乱码。这种情况不仅会影响用户体验,还可能导致程序逻辑错误。本文将深入探讨Java传值...

Global site tag (gtag.js) - Google Analytics