http://www.blogjava.net/jerry-zhaoj/archive/2009/07/16/286993.html 转

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

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

在url中问参数乱码,我们已经在 "解决ajax提交中文、URL中文参数传递后的乱码问题的解决办法" 一张提出了一中解决办法, 网子是:http://www.javaly.cn/javahome/java/content.detail/%E8%A7%A3%E5%86 %B3ajax%E6%8F%90%E4%BA%A4%E4%B8%AD%E6%96%87%E3%80%81URL%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92%E5%90%8E%E7%9A%84%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/fdc1ed6c22069c56012282a321ed0465.faces

今天,我们找出其他的解决办法。

方法一:

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 url中文参数乱码问题的更多相关文章

  1. java url中文参数乱码

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

  2. url中文参数乱码问题

    1.参数乱码: js: var url = $$pageContextPath + "iecp/ads/heilanAnalogCurve.do?pointCode=" + get ...

  3. URL中文参数乱码的一个解决办法

      浏览器对有中文参数的url大部分都用utf-8编码,但我也曾经遇见过用GB2312编码的:如果遇见这样情况,那么接受到的参数就会出现乱码.乱码情况视服务器解码方式,Asp.Net网站一般默认为ut ...

  4. request.getParameter()获取URL中文参数乱码的解决办法

    这个问题耽误好长时间,URL传中文参数出现乱码,就算首次使用request接收就添加 request.setCharacterEncoding("UTf-8"); 依然报错不误. ...

  5. JS获取URL中文参数乱码的解决方法

    浏览器URL参数值中带有汉字字符,在接收时直接获取会出现乱码,下面是解决方法(传递前不需要encodeURI): function getUrlVars() { var vars = [], hash ...

  6. js传url中文参数乱码问题

    $("#btnKeyWord").click(function () { window.open("/Atraction/Atraction.aspx?keyword=& ...

  7. spring mvc 中文参数乱码

    最近做项目,springmvc的url中文参数乱码: 请求url: http://localhost:8080/supply/supply_list.htm?productName=测试&is ...

  8. java解决Url带中文参数乱码问题

    首先打开Tomcat安装目录,打开conf文件,打开server.xml,找到这段代码: <Connector port="8080" protocol="HTTP ...

  9. URL链接中文参数乱码的若干处理方法

    JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下: 方法一: (1) JS中,在URL参数中确保用UTF-8编码,用js函数encodeURI()编码,例如 url:"xx ...

随机推荐

  1. 每天一道LeetCode--344. Reverse String

    Write a function that takes a string as input and returns the string reversed. Example:Given s = &qu ...

  2. 什么叫wipe,安卓用户如何去wipe?

    一.wipe是什么意思 wipe从英文单词的字面意思来理解就是:揩,擦;揩干,擦净的意思,从刷机爱好者的专业角度来理解可以认为是一种对手机数据擦除的操作.关于wipe是什么意思比较专业的解答为:wip ...

  3. rac安装oem

    [oracle@node1 ~]$ emca -config dbcontrol db -repos recreate -cluster STARTED EMCA at May 31, 2016 3: ...

  4. UIView总结---对UIView头文件中的大部分信息进行中文注释

    @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> ...

  5. 【学习笔记】【C语言】循环结构-while

    1. 简单使用 while ( 条件 ) {     语句1;     语句2;     .... } 如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容).然后再次 ...

  6. php折线图 布局图

    例子1: 1 <?php require_once("../conf.php"); ?> <!DOCTYPE HTML> <html> < ...

  7. WCF之错误和异常

    CLR异常无法跨越服务边界,所有的异常都被封装(序列化)为SOAP Fault,可以让所有平台的用户接收到. SOAP1.1只有Body.1.2中含有Header+Body. 未捕获异常 异常会从逻辑 ...

  8. C++ 11 之学习总结

    感慨时间过的好快,C++ 11出来都5年了,现在才开始学习,但为时也不晚: 主要是网上及身边的朋友大肆宣扬C++ 11的某些优化,弄得别人心里痒痒的,所以就花了3天学习了点基本知识,相对于整个C++ ...

  9. <Linux系统hostname命令详解>

    hostname命令的用法的小知识我们都知道hostname命令是查看主机名和修改主机名的. [root@apache ~]# hostname  //查看本机的主机名apache.example.c ...

  10. LINQ to XML(1)

    LINQ to XML可以两种方式和XML配合使用.第一种方式是作为简化的XML操作API,第二种方式是使用LINQ查询工具.下面我使用的是第二种方式. 主要内容:用LINQ查询语句对XML文件里的数 ...