`
weiwu83
  • 浏览: 191393 次
  • 来自: ...
社区版块
存档分类
最新评论

JAVA 中URL链接中文参数乱码的处理方法

    博客分类:
  • JAVA
阅读更多
JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下:

方法一:

http://xxx.do?ptname='我是中国人'

String strPtname = request.getParameter("ptname");

strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");  

方法二:

<%@ page contentType="text/html;charset=gb2312" %>

<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%>">点击这里</a>

<%

//request.setCharacterEncoding("GBK");

if(request.getParameter("url")!=null)

{

str=request.getParameter("url");

str=java.net.URLDecoder.decode(str,"GB2312");

str=new String(str.getBytes("ISO-8859-1"));

out.print(str);

}

%>

==================================

public String chinatoString(String str)

     {

      String s=str;

      try

      {

       byte tempB[]=s.getBytes("ISO-8859-1");

       s=new String(tempB);

       return s;

      }

      catch(Exception e)

      {

       return s;

      }

    }

====================================================

function URLencode(sStr)

    {

      return escape(sStr).

               replace(/\+/g, '%2B').

                  replace(/\"/g,'%22').

                     replace(/\'/g, '%27').

                       replace(/\//g,'%2F');

    }

方法三:

如果用jstl的话,可以自己写一个el的function,调用URLEncoder.encode来编码。

IE缺省对URL后面的参数是不编码发送的,但是tomat缺省是按ISO8859-1来进行URL解码,因此才会出现上述错误。好的做法是:

1、在URL参数中确保用UTF-8编码之,方法可以用js函数encodeURI(),或调用自定义的el function;

2、设置server.xml中的Connector熟悉URIEncoding="UTF-8",确保解码格式与编码格式统一;

方法四:

<script>

for(var i=0;i<document.links.length;i++){

document.links[i].href=encodeURI(document.links[i].href);

}

</script>

在action中,String s=request.getParameter("s");

s=new String(s.getBytes("iso-8859-1"),"gbk");

以上方法是收聚了一些网友所讲的解决方法 。

分享到:
评论

相关推荐

    JAVA(Web)中URL链接中文参数乱码:

    JAVA(Web)中URL链接中文参数乱码,如,java web中的超链接&lt;a&gt;&lt;/a&gt;标签传中文参数,提交到servlet中后,解决乱码问题!

    JSP对URL链接中的中文乱码处理方法总结.docx

    JSP 对 URL 链接中的中文乱码处理方法总结 JSP 对 URL 链接中的中文乱码处理方法总结是指在 JSP 应用程序中,如何正确地处理 URL 链接中的中文字符编码问题。这个问题的出现是由于不同浏览器和服务器的默认编码方式...

    java中文乱码解决之道(8)解决URL中文乱码问题Jav

    在Java编程中,中文乱码问题是一个常见的挑战,特别是在处理URL时。URL编码是导致中文乱码的关键因素,因为URL不支持非ASCII字符。本文将深入探讨如何在Java中有效地解决URL中文乱码问题。 首先,我们需要理解URL...

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

    在进行Web开发的过程中,经常会遇到URL编码的问题,尤其是在处理包含中文字符的URL时。当URL中包含奇数个中文字符时,可能会出现乱码的情况,这不仅会影响用户体验,还可能导致程序逻辑错误。本文将深入探讨“奇数个...

    java中文乱码

    Java 中文乱码是指在 Java 应用程序中,中文字符在传输、存储和显示过程中出现的乱码问题。这种问题可能会出现在 Java 与数据库、JSP、文件流之间的数据交换过程中。本文将总结 Java 中文乱码的常见情况和解决方法。...

    url参数乱码二

    标题“URL参数乱码二”涉及的是Web开发中常见的一个问题,即URL编码和解码的问题。在互联网通信中,URL(统一资源定位符)用于标识网络上的特定资源,但URL中不能包含所有字符,比如空格、特殊字符等。因此,当URL中...

    html 中文乱码 HTML超链接中文乱码问题分析及解决方法

    如果直接拼接,传到后台Action的参数对象中后取出会是乱码,需要编码后再拼接到URL上。 解决方法是在Action中添加一个成员变量,保存编码后的中文参数。在vm页面渲染时取出这个变量值,再拼接超链接。 在这里碰到的...

    HTML超链接中文乱码问题分析及解决方法.docx

    HTML超链接中文乱码问题分析及解决方法 在 HTML 超链接中,中文乱码问题是常见的烦恼...在 Java 中,我们可以使用 `java.net.URLEncoder` 的 `encode()` 方法来编码 URL 参数,并显示指定字符集参数,以确保正确编码。

    Java 解决中文路径问题

    在Java编程中,处理中文路径问题是一个常见的挑战,尤其是在Windows操作系统环境下。中文字符在路径中可能会引起编码问题,导致程序无法正确读取或写入文件。这个问题主要涉及到字符编码、文件I/O操作以及系统环境的...

    Mysql运行SQL语句中文乱码问题的解决方法

    ### MySQL运行SQL语句中文乱码问题的解决方法 在MySQL数据库中运行包含中文字符的SQL语句时,经常会遇到中文显示为乱码的问题。这一现象不仅降低了开发效率,还可能导致数据错误。本文将详细介绍如何彻底解决MySQL...

    JSP对URL链接中的中文乱码处理方法总结

    本文主要探讨了JSP中处理URL中文乱码的方法,并考虑了不同浏览器的兼容性。 首先,我们要明白浏览器发送请求到服务器时,通常会对URL参数进行编码。如果URL参数包含非ASCII字符,如中文字符,那么就需要进行URL编码...

    Jdbc连接oracle远程数据库中文乱码解决

    Oracle数据库作为一款广泛应用的关系型数据库系统,其与Java应用程序的集成常常会遇到各种问题,其中之一就是字符编码导致的中文乱码问题。本文将深入探讨如何通过JDBC(Java Database Connectivity)连接Oracle远程...

    解决页面传参中文乱码

    在Web开发过程中,特别是在使用Java进行后端开发时,经常遇到的一个问题是中文字符或非ASCII字符在URL参数中的乱码问题。这主要是因为客户端浏览器与服务器之间可能使用的字符集不同导致的。本文将详细介绍如何通过`...

    SQL-SERVER-64位配置ORACLE连接-中文乱码问题

    - 如果使用Java应用程序连接Oracle数据库,可以在JDBC URL中指定NLS_LANG。 - 示例:`jdbc:oracle:thin:@//localhost:1521/orcl?NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK`。 #### 四、注意事项 1. **保持...

    Java Web文件下载,解决了使用IE11下载文件时所出现的乱码问题

    这段代码首先将文件名转换为URL编码的UTF-8格式,然后在`Content-Disposition`中指定`filename*`参数,用`UTF-8''`表示接下来的值是UTF-8编码的。这样,即使在IE11中,浏览器也会按照UTF-8解码文件名,从而避免乱码...

    Struts2.0解决中文乱码

    超链接传递中文参数乱码 除了表单提交外,通过超链接传递中文参数也是常见的应用场景。同样地,如果超链接中的中文参数未经正确的编码,在服务器端接收时也会遭遇乱码问题。这是因为URL默认使用的也是ISO-8859-1...

    Java Web编程中页面跳转乱码问题的解决方案.zip

    3. JSP/Servlet处理不当:在JSP页面或Servlet中处理请求数据时,如果没有正确设定字符编码,也会导致乱码。 二、解决方案 1. 设置服务器字符集:在Tomcat等服务器的配置文件(如server.xml)中,设置Connector元素...

    jurl一个快速简单的URL解析Java库

    在Java开发中,处理URL是常见的任务,比如在构建网络请求、解析网页链接或者进行数据交换时。`jurl`库简化了这一过程,使得开发者能够更加专注于业务逻辑,而不是底层的URL操作。 首先,我们来看一下`jurl`库的主要...

    JSP页面中超链接传递中文参数出现乱码问题解决方法

    在解决方法中,首先应该明确超链接在传递参数时,是在URL的查询字符串中进行的。超链接格式如下: ``` 目标页面.jsp?参数名=参数值"&gt;链接文本 ``` 如上述示例中的页面一,超链接被设计为传递两个参数:name和...

Global site tag (gtag.js) - Google Analytics