`
youkimra
  • 浏览: 34674 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决url编码问题

 
阅读更多

url中包含中文一般需要编码,而在编解码中由于浏览器或者个人系统编码的原因,可能会有不同的编码访问形式,因此在解码的时候需要注意,不然很容易出现乱码。在最近工作中遇到了这个问题,虽然没有完全解决乱码,但依据次方式能够解决大部分此类问题。

例: url="%25b1%25a6%25c2%25ed1%25cf%25b5%25b3%25a8%25c5%25f1" 我们在解码时用到

String b1 = URLDecoder.decode(url);
String encode = FileUtil.getEncoding(b1); //获得b1的编码方式
String b2= URLDecoder.decode(b1, encode); //再用b1的编码方式对b1再进行解码得到b2 
String b2Encode = FileUtil.getEncoding(b2);//获得b2的编码方式
if (!encode.equals(b2Encode)) {
	b2 = URLDecoder.decode(b1, b2Encode);
}//如果第二次编码方式和第一不同,那么再对b1按b2编码再解码。这样就保证了在不知道该字符串编码方式的时候进行解码,那么getEncoding()是怎么做到的呢?
 再看看下面getEncoding方法的具体实现public static String getEncoding(String str) {
        String encode = "GB2312";  
        try {  
            if (str.equals(new String(str.getBytes(encode), encode))) {  
                String s = encode;  
                return s;  
            }  
        } catch (Exception exception) {  
        }  
        encode = "ISO-8859-1";  
        try {  
            if (str.equals(new String(str.getBytes(encode), encode))) {  
                String s1 = encode;  
                return s1;  
            }  
        } catch (Exception exception1) {  
        }  
        encode = "UTF-8";  
        try {  
            if (str.equals(new String(str.getBytes(encode), encode))) {  
                String s2 = encode;  
                return s2;  
            }  
        } catch (Exception exception2) {  
        }  
        encode = "GBK";  
        try {  
            if (str.equals(new String(str.getBytes(encode), encode))) {  
                String s3 = encode;  
                return s3;  
            }  
        } catch (Exception exception3) {  
        }  
        return "";  
    }  

 其实就是按编码方式一个个的新建字符串,然后和新建串以前做比较,如果相同则认为是该编码方式。

 

标致308配置 2

比亚迪f3dm 2

猎豹奇兵报价 2

现代飞思veloster 2

甲壳虫敞篷汽车报价 2

花冠 2

英菲尼迪g 2

览胜 2

起亚凯尊 2

长安汽车悦翔 2

陆虎揽胜 2

雪佛兰科迈罗报价 2

雪弗兰景程 2

雪铁龙c6 2

风行景逸suv怎么样 2

马自达2劲翔 2

����h�� 2

11款卡罗拉 1

12款新宝来报价 1

 

但是现在问题是中文中还是有极少数乱码,目前还在需求更好的解决办法。。

分享到:
评论

相关推荐

    C++URL编码和解码

    为了解决这个问题,URL编码应运而生。根据RFC 3986标准,非字母数字字符会被转换成"%xy"的形式,其中"xy"是该字符的ASCII值的16进制表示。 在C++中,我们可以利用`std::stringstream`、`std::hex`和`std::uppercase...

    C#自动识别URL编码,asp.net自动识别URL编码

    本文将深入探讨“C#自动识别URL编码”的主题,帮助开发者解决URL编码带来的乱码问题。 URL编码,也称为百分号编码(Percent-encoding),是统一资源定位符(Uniform Resource Locator, URL)的一部分,用于在非...

    url编码转换器

    使用“url编码转换器”这样的工具,用户可以便捷地处理URL中的编码问题,无论是手动输入的链接还是程序生成的链接,都能确保其在传输过程中不会因为特殊字符而引起问题。在开发网页应用或者处理HTTP请求时,理解并...

    URL编码解码小程序

    标题中的“URL编码解码小程序”指的是一个工具或软件,其主要功能是处理URL(统一资源定位符)中的编码问题。URL编码是互联网通信中的一种标准化机制,它确保非ASCII字符或特殊字符在URL中能被正确传输和解析。这是...

    一个简单url编码解码

    为了解决这个问题,URL编码应运而生。这个名为“一个简单url编码解码”的项目,就是为新手提供了一个理解和实践URL编码与解码机制的实例。 URL编码是根据RFC 3986标准进行的,主要使用百分号(%)表示非ASCII字符或...

    URL编码转换工具

    这个“URL编码转换工具”就是专门为了帮助开发者解决这个问题而设计的。它能够将URL中的特殊字符转换成对应的十六进制ASCII值,确保数据在网络间正确无误地传输。 首先,我们要理解URL编码的基础。在URL中,某些...

    易语言URL编码转换模块源码

    总的来说,这个模块源码提供了易语言开发者一个便利的工具,帮助他们更好地处理URL编码问题,确保网络通信的正确性和稳定性。通过深入理解这个模块的工作原理和源码,开发者可以学习到URL编码的标准,以及如何在...

    URL编码转换工具 很好用

    总之,URL编码转换工具是处理URL字符编码问题的有效助手,对于网站维护和开发人员来说,它是日常工作中不可或缺的工具之一。通过理解和使用这类工具,可以更有效地解决与URL编码相关的问题,确保网络通信的顺畅无阻...

    解决URL长度的问题

    标题提到的"解决URL长度的问题"是一个常见的技术挑战,特别是在需要通过URL传递大量数据或者参数时。描述中提到了IE浏览器对URL长度的限制是2083个字符,这是一个典型的限制值,但并不适用于所有浏览器。 不同的...

    url参数乱码二

    标签“源码”和“工具”提示我们,博主可能在博文中分享了关于源代码级别的解决方法,或者是推荐了一些有助于解决URL编码问题的工具。这些工具可能包括在线解码/编码工具,或者是编程语言中的库函数,比如在Java中的...

    UrlEncodeUrlDecodeUrl解码Url编码工具

    对于学习Web开发的人来说,这将是一个很好的实践案例,有助于理解和解决实际开发中遇到的URL编码问题。 总之,UrlEncode和UrlDecode是处理URL的关键技术,确保了网络数据的正确传递。这个工具简化了编码解码的过程...

    url编码转换.rar

    总之,"url编码转换.rar"提供的工具解决了在网络通信中常见的编码问题,特别是涉及ANSI和UTF-8编码间的转换。通过"code.exe"这个程序,用户可以方便地进行URL编码转换,确保URL在各种环境下的正确性和兼容性。对于...

    asp自定义函数:URL编码和解码

    URL编码是将特殊字符转换为ASCII码的百分比表示形式,避免在URL中引起解析问题,而URL解码则是将这些编码恢复成原始字符。 URL编码,也称为percent-encoding,是统一资源定位符(URL)的一部分,根据RFC 3986标准...

    URL编码解码小工具

    总的来说,"URL编码解码小工具"是一款实用的软件,它的存在解决了URL编码解码过程中的繁琐问题,使得无论是开发人员还是普通用户,都能方便快捷地处理URL编码相关的事务。通过支持GB2312和UTF8这两种常见的字符编码...

    易语言URL编码转换模块

    总之,易语言URL编码转换模块是易语言环境中一个重要的辅助工具,它为处理URL编码问题提供了便利,特别是对于那些需要处理中文字符的开发者来说,能够有效地解决字符编码的转换问题,提升程序的健壮性。通过学习和...

    URL编码转换-模块

    URL编码转换是网络编程中一个重要的概念,尤其是在发送HTTP请求或者构建动态网页链接...它不仅包含了一个易语言编写的可执行文件,还有相关的使用说明和指向学习资源的快捷方式,为用户提供了一站式的URL编码解决方案。

    url编码与解码

    在计算机网络中,URL(统一资源定位符)是用于唯一标识网络资源的字符串。由于URL可能包含各种特殊字符,如空格、引号等,这些字符在传输过程...同时,对URL编码的理解也能够帮助解决在网络编程中遇到的字符编码问题。

    jsp使用URL编码传递中文参数问题.doc

    在JSP开发中,处理URL编码传递中文参数是常见的需求,尤其是在构建动态网页时。这个问题主要涉及到字符编码的转换,因为不同的编码标准可能导致乱码。以下是对这个主题的详细解释: 1. **URL编码**:URL(统一资源...

    URL 编码转换工具

    使用这样的工具,开发者、网页设计师或普通用户可以轻松地处理包含特殊字符的URL,避免因编码问题导致的链接失效或数据丢失。在网页开发中,URL编码常用于表单提交,防止数据中的特殊字符干扰请求的解析。同时,它也...

Global site tag (gtag.js) - Google Analytics