Java 转义url中的非英语字符
如何从url中转义非英语字符,如“ö”,因为它会导致404响应错误。我正在使用Java。请帮帮我。在java.net包中使用URLEncoder/URLEDECODE在java.net包中使用URLEncoder/URLEDECODE尝试尝试,例如,通过使用RFC3986中指定的URL编码(http://tools.ietf.org/html/rfc3986). 请看一下: Java提供了一些方法来实现这一点:Java 转义url中的非英语字符,java,url,character-encoding,non-english,Java,Url,Character Encoding,Non English,如何从url中转义非英语字符,如“ö”,因为它会导致404响应错误。我正在使用Java。请帮帮我。在java.net包中使用URLEncoder/URLEDECODE在java.net包中使用URLEncoder/URLEDECODE尝试尝试,例如,通过使用RFC3986中指定的URL编码(http://tools.ietf.org/html/rfc3986). 请看一下: Java提供了一些方法来实现这一点: 注意不同的编码,如ISO-8859-1/15、UTF-8。例如,根据这一点,“ö”
注意不同的编码,如ISO-8859-1/15、UTF-8。例如,根据这一点,“ö”将被编码为%F6或&C3%D6(或类似的内容)。例如,通过使用RFC3986中规定的URL编码(http://tools.ietf.org/html/rfc3986). 请看一下: Java提供了一些方法来实现这一点:
注意不同的编码,如ISO-8859-1/15、UTF-8。例如,根据这一点,“ö”将被编码为%F6或&C3%D6(或类似的内容)。我遇到了类似的问题,URL路径中有一个“ü”。在对各种SO帖子进行了几个小时的实验后,我得到了以下()结果:
诀窍在于将URI转换为URL。大多数答案以URI.toURL()方法调用结束。虽然此方法正确编码空白和非字母字符,但它不编码非ASCII字母。方法URI.toascistring()就是这个问题的答案。我有一个类似的问题,URL路径中有一个'u'。在对各种SO帖子进行了几个小时的实验后,我得到了以下()结果:
诀窍在于将URI转换为URL。大多数答案以URI.toURL()方法调用结束。虽然此方法正确编码空白和非字母字符,但它不编码非ASCII字母。方法URI.toascistring()就是这个问题的答案。Url编码?Url编码?伟大的发现!谢谢你,工作很有魅力!(我在URL中嵌入了西里尔字母,URLEncoder.encode()无法对它们进行编码)。这是一个伟大的发现!谢谢你,工作很有魅力!(我在URL中嵌入了西里尔字母,URLEncoder.encode()无法对它们进行编码)。
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());