如何从我的网址中删除“ö”等非英文字符,因为它会导致404响应错误。我正在使用Java。请帮帮我。
答案 0 :(得分:5)
E.g。通过使用RFC3986(http://tools.ietf.org/html/rfc3986)中指定的URL-Encoding。另请查看:http://en.wikipedia.org/wiki/Percent-encoding
Java提供了一些方法来执行此操作:
http://download.oracle.com/javase/1.4.2/docs/api/java/net/URLEncoder.html
请注意ISO-8859-1 / 15,UTF-8等不同编码。根据这个例子,'ö'将编码为%F6或& C3%D6(或者像这样)。
答案 1 :(得分:3)
在java.net包中使用URLEncoder / URLDecoder
答案 2 :(得分:3)
答案 3 :(得分:2)
我遇到了类似的问题,URL路径中有一个'ü'。经过几个小时的各种SO帖子的实验后,我得到了这个(from here):
URL url = new URL(urlString);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
url = new URL(uri.toASCIIString());
Trick正在将URI转换为URL。大多数答案以URI.toURL()方法调用结束。虽然此方法正确编码空格和非字母字符,但它不编码非ASCII字母。方法URI.toASCIIString()是该问题的答案。