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
但是现在问题是中文中还是有极少数乱码,目前还在需求更好的解决办法。。
分享到:
相关推荐
为了解决这个问题,URL编码应运而生。根据RFC 3986标准,非字母数字字符会被转换成"%xy"的形式,其中"xy"是该字符的ASCII值的16进制表示。 在C++中,我们可以利用`std::stringstream`、`std::hex`和`std::uppercase...
本文将深入探讨“C#自动识别URL编码”的主题,帮助开发者解决URL编码带来的乱码问题。 URL编码,也称为百分号编码(Percent-encoding),是统一资源定位符(Uniform Resource Locator, URL)的一部分,用于在非...
使用“url编码转换器”这样的工具,用户可以便捷地处理URL中的编码问题,无论是手动输入的链接还是程序生成的链接,都能确保其在传输过程中不会因为特殊字符而引起问题。在开发网页应用或者处理HTTP请求时,理解并...
标题中的“URL编码解码小程序”指的是一个工具或软件,其主要功能是处理URL(统一资源定位符)中的编码问题。URL编码是互联网通信中的一种标准化机制,它确保非ASCII字符或特殊字符在URL中能被正确传输和解析。这是...
为了解决这个问题,URL编码应运而生。这个名为“一个简单url编码解码”的项目,就是为新手提供了一个理解和实践URL编码与解码机制的实例。 URL编码是根据RFC 3986标准进行的,主要使用百分号(%)表示非ASCII字符或...
这个“URL编码转换工具”就是专门为了帮助开发者解决这个问题而设计的。它能够将URL中的特殊字符转换成对应的十六进制ASCII值,确保数据在网络间正确无误地传输。 首先,我们要理解URL编码的基础。在URL中,某些...
总的来说,这个模块源码提供了易语言开发者一个便利的工具,帮助他们更好地处理URL编码问题,确保网络通信的正确性和稳定性。通过深入理解这个模块的工作原理和源码,开发者可以学习到URL编码的标准,以及如何在...
总之,URL编码转换工具是处理URL字符编码问题的有效助手,对于网站维护和开发人员来说,它是日常工作中不可或缺的工具之一。通过理解和使用这类工具,可以更有效地解决与URL编码相关的问题,确保网络通信的顺畅无阻...
标题提到的"解决URL长度的问题"是一个常见的技术挑战,特别是在需要通过URL传递大量数据或者参数时。描述中提到了IE浏览器对URL长度的限制是2083个字符,这是一个典型的限制值,但并不适用于所有浏览器。 不同的...
标签“源码”和“工具”提示我们,博主可能在博文中分享了关于源代码级别的解决方法,或者是推荐了一些有助于解决URL编码问题的工具。这些工具可能包括在线解码/编码工具,或者是编程语言中的库函数,比如在Java中的...
对于学习Web开发的人来说,这将是一个很好的实践案例,有助于理解和解决实际开发中遇到的URL编码问题。 总之,UrlEncode和UrlDecode是处理URL的关键技术,确保了网络数据的正确传递。这个工具简化了编码解码的过程...
总之,"url编码转换.rar"提供的工具解决了在网络通信中常见的编码问题,特别是涉及ANSI和UTF-8编码间的转换。通过"code.exe"这个程序,用户可以方便地进行URL编码转换,确保URL在各种环境下的正确性和兼容性。对于...
URL编码是将特殊字符转换为ASCII码的百分比表示形式,避免在URL中引起解析问题,而URL解码则是将这些编码恢复成原始字符。 URL编码,也称为percent-encoding,是统一资源定位符(URL)的一部分,根据RFC 3986标准...
总的来说,"URL编码解码小工具"是一款实用的软件,它的存在解决了URL编码解码过程中的繁琐问题,使得无论是开发人员还是普通用户,都能方便快捷地处理URL编码相关的事务。通过支持GB2312和UTF8这两种常见的字符编码...
总之,易语言URL编码转换模块是易语言环境中一个重要的辅助工具,它为处理URL编码问题提供了便利,特别是对于那些需要处理中文字符的开发者来说,能够有效地解决字符编码的转换问题,提升程序的健壮性。通过学习和...
URL编码转换是网络编程中一个重要的概念,尤其是在发送HTTP请求或者构建动态网页链接...它不仅包含了一个易语言编写的可执行文件,还有相关的使用说明和指向学习资源的快捷方式,为用户提供了一站式的URL编码解决方案。
在计算机网络中,URL(统一资源定位符)是用于唯一标识网络资源的字符串。由于URL可能包含各种特殊字符,如空格、引号等,这些字符在传输过程...同时,对URL编码的理解也能够帮助解决在网络编程中遇到的字符编码问题。
在JSP开发中,处理URL编码传递中文参数是常见的需求,尤其是在构建动态网页时。这个问题主要涉及到字符编码的转换,因为不同的编码标准可能导致乱码。以下是对这个主题的详细解释: 1. **URL编码**:URL(统一资源...
使用这样的工具,开发者、网页设计师或普通用户可以轻松地处理包含特殊字符的URL,避免因编码问题导致的链接失效或数据丢失。在网页开发中,URL编码常用于表单提交,防止数据中的特殊字符干扰请求的解析。同时,它也...