`

URL传递中文乱码解决方法

阅读更多

.encodeURL函数主要是来对URI来做转码,它默认是采用的UTF-8的编码.
. UTF-8编码的格式:一个汉字来三个字节构成,每一个字节会转换成16进制的编码,同时添加上%号.

假设页面端输入的中文是一个“中”,按照下面步骤进行解码

 

1.第一次encodeURI,按照utf-8方式获取字节数组变成[-28,-72,-83],对字节码数组进行遍历,把每个字节转化成对应的16进制数,这样就变成了[E4,B8,AD],最后变成[%E4,%B8,%AD]  此时已经没有了多字节字符,全部是单字节字符。

 

2、第二次encodeURI,进行编码,会把%看成一个转义字符,并不编码%以后字符,会把%编码成%25.把数组最后变成[%25E4,%25B8,%25AD]然后就把处理后的数据发往服务器端,当应用服务器调用getParameter方法,getParameter方法会去向应用服务器请求参数应用服务器最初获得的就是发送来的[%25E4,%25B8,%25AD],应用服务器会对这个数据进行URLdecode操作,应用服务器进行解码的这一次,不管是按照UTF-8,还是GBK,还是ISO-8859,,都能得到[%E4,%B8,%AD],因为都会把%25解析成%.并把这个值返回给getParameter方法。

 

3、Java后台再用UTF-8解码一次,就得到"中"了。

如果不编码两次,当服务器自动解码的时候,假如是按照ISO-8859去解码UTF-8编码的东西,就是会出现乱码。

 

JS:

document.authorityForm.action = basePath3+"User_viewUser.do?id="+id+"&roleName="+encodeURI(encodeURI(roleName))+"&roleType="+roleType;  

JAVA后台:

roleName = java.net.URLDecoder.decode(getRequest().getParameter("roleName"),"UTF-8");  

 

转载:

http://blog.csdn.net/howlaa/article/details/12834595

分享到:
评论

相关推荐

    asp.net中URL参数传值中文乱码的三种解决办法

    了解这些基本概念后,结合以上三种方法,我们可以有效解决ASP.NET中URL参数传递中文时的乱码问题。在实际开发中,应根据具体项目需求和环境选择合适的方法,确保数据的正确传递。同时,为了兼容更多情况,建议在开发...

    教学视频--JSP中URL传递中文乱码问题的解决演示.rar

    本教学视频将详细讲解如何解决JSP中URL传递中文乱码的问题。 首先,我们要理解为何会出现乱码。HTTP协议的URL部分是基于ASCII编码的,而非Unicode。这意味着非ASCII字符在URL中需要进行编码才能正确传输。默认情况...

    jquery获取URL中参数解决中文乱码问题的两种方法

    当我们需要在两个页面间通过URL传递参数时,经常会遇到中文乱码问题。这个问题主要是因为URL中的参数可能没有经过正确的编码和解码处理。为了解决这个问题,我们可以采取一些方法,特别是当使用jQuery来获取URL参数...

    解决JS传递中文乱码问题

    ### 解决JS传递中文乱码问题 在Web开发过程中,我们经常会遇到中文字符编码的问题,尤其是在前后端数据交互时,中文...通过上述方法,我们可以有效地解决JS传递中文时的乱码问题,从而提高Web应用的稳定性和用户体验。

    奇数个中文字符url传递乱码

    本文将深入探讨“奇数个中文字符URL传递乱码”的问题,并提供一种可行的解决方案。 ### 一、问题背景 #### 1.1 URL编码概述 URL(Uniform Resource Locator)用于标识互联网上的资源位置。由于某些字符在URL中具有...

    extjs 前后台交互参数出现中文乱码问题的解决方法

    ### extjs前后台交互参数出现中文乱码问题的解决方法 #### 问题背景与原因分析 在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的...

    ajax传递中文参数乱码解决办法

    通过以上方法,我们可以有效地解决AJAX传递中文参数时可能出现的乱码问题。关键是在发送端进行编码,在接收端进行相应的解码处理。同时,保持前后端以及数据库字符集的一致性也是很重要的。掌握了这些技巧后,开发者...

    URL传参数时中文乱码解决方法

    在IT领域,尤其是在Web开发中,处理URL传递参数时遇到中文乱码是一个常见的问题,尤其当数据需要跨系统或在不同编码环境下传输时更为显著。本文将深入探讨URL传参数时中文乱码的原因、影响以及如何有效解决这一问题...

    Spring MVC参数传递中文乱码解决方法分享

    Spring MVC参数传递中文乱码解决方法分享 在 Web 开发中,参数传递中文乱码问题是一个常见的问题,特别是在使用 Spring MVC 框架时。这篇文章将详细介绍 Spring MVC 参数传递中文乱码解决方法,并提供了多种解决...

    解决url中文乱码.doc

    在Java Web开发中,URL中文乱码问题是一个常见的困扰,主要出现在传递含有中文字符的参数时。本案例中,我们将探讨如何解决这个问题,涉及到的主要知识点包括URL编码、字符集转换以及在Java Servlet、JSP和Struts2...

    url地址传参中文乱码处理

    URL地址传参中文乱码处理是指在Web应用程序中,将中文参数传递给服务器时,可能出现乱码的情况。这种情况可能是由于编码问题或Tomcat服务器的配置问题引起的。 在处理URL地址传参中文乱码时,通常有三种解决方案: ...

    通过url方式传递中文乱码的解决方法

    总的来说,解决URL传递中文乱码的关键在于前后端保持一致的字符编码规则。前端正确编码,后端正确解码,两者配合才能确保中文字符在URL中的准确传递,避免乱码问题。在实际开发中,开发者应该根据具体的应用场景和所...

    ASP.NET中url传递中文的解决方案

    综上所述,在ASP.NET中解决URL传递中文的问题,关键在于理解字符编码的基本原理,并结合具体的编码和解码方法进行处理。此外,还需要注意全局设置与局部处理相结合,以及考虑使用更加安全的Base64编码方式。通过这些...

    url传值到Action乱码解决方案

    在Web应用程序中,URL传值到Action是一个常见的操作,但是当传递中文参数时,经常会出现乱码问题。今天,我们将讨论如何解决URL传值到Action乱码问题,特别是在Struts2框架中。 乱码问题的原因 乱码问题的原因是...

    GET方法URL中传递中文参数乱码的解决方法

    尽管上述方法通常能解决大部分乱码问题,但为了避免不必要的麻烦,最好还是遵循“最好不要在URL中传递中文参数”的原则。因为URL可见且易于复制,如果包含敏感信息(如中文用户名),可能会增加隐私泄露的风险。另外...

    Jsp页面在URL中传递参数会出现乱码问题解决

    在Web开发中,尤其是使用Java JSP技术时,我们可能会遇到...通过以上方法,我们可以有效地解决JSP页面在URL中传递参数时出现的乱码问题。在实际开发中,理解字符编码的工作原理和处理方式,对于避免这类问题至关重要。

    asp.net页面通过URL参数传值中文乱码问题解决办法

    在Asp.Net开发中,遇到页面通过URL参数传递中文字符时出现乱码是...以上就是解决Asp.Net页面通过URL参数传递中文乱码问题的详细方法,通过选择合适的方法或组合使用这些方法,可以确保中文字符在URL中正确无误地传递。

    JSP struts2 url传参中文乱码解决办法.docx

    除了上述解决方法,还有其他可能出现中文乱码的场景,如JSP文件和HTML相互引入时的乱码、MySQL数据库插入数据时的乱码、页面转发过程中的乱码以及SmartUpload组件处理中文文件名时的乱码等。对于这些问题,一般也...

    中文乱码问题解决方法

    当我们把一段中文字符作为参数传递给另一页面时,也会出现乱码情况,解决方法有两种: 解决方法一 在参数传递时对参数编码,比如: RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords) 然后在...

    Url传值乱码解决方案

    本文将深入探讨URL编码的原因、原理以及如何解决URL传值乱码的常见问题。 URL(统一资源定位符)是互联网上资源的唯一标识,它包含了协议、主机名、路径和查询参数等部分。由于URL中可能包含非ASCII字符或特殊字符...

Global site tag (gtag.js) - Google Analytics