2011-06-10 30 views
1

如何從我的網址中轉義非英文字符(如「ö」),因爲它會導致404響應錯誤。我正在使用Java。請幫幫我。在網址中轉義非英文字符

+3

網址編碼? http://download.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.html – 2011-06-10 11:10:08

回答

3

使用的URLEncoder/URLDecoder在java.net包

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()); 

訣竅是在URI轉換爲URL。大多數答案以URI.toURL()方法調用結束。雖然此方法可正確編碼空格和非字母字符,但它不編碼非ASCII字母。方法URI.toASCIIString()解決了這個問題。

+0

很棒的發現!謝謝,作品像魅力! (我在URL中嵌入了cyrillyc字母,而URLEncoder.encode()無法對它們進行編碼)。 – dimsuz 2013-07-08 15:02:59