2011-10-02 58 views
0

我與JSoup和Android合作,以得到一些網站的圖片網址,但某些URL中包含特殊字符,如(E,E,A ...),例如:JSoup得到的圖像的絕對URL包含特殊字符

http://www.mysite.com /杜詳細jour.jpg

的element.attr(「ABS:SRC」)返回的網址與上述

至今沒有問題若要取得網址,但是當我在下面的代碼提交網址它返回的文件沒有找到(我從互聯網上的一個例子中抓住了這個功能):

public Object fetch(String address) throws MalformedURLException,IOException { 
try { 
    URL url = new URL(address); 
    Object content = url.getContent(); 
    return content; 
    } catch (Exception e) { 
    return null; 
    } 
} 

我認爲這個問題是在URL格式,因爲當我得到谷歌瀏覽器的圖像的真實地址:

http://www.mysite.com/d%C3%A9tail%20du%20jour.jpg

,並提交代碼,如: 網址URL =新URL( 「http://www.mysite.com/d%C3%A9tail%20du%20jour.jpg」);

圖像加載正確,所以如何從JSoup獲得此格式的網址?

感謝

回答

0

您需要使用URLEncoder從JSoup提取的URL。

喜歡的東西:

URL url = new URL(URLEncoder.encode(address));

之間將會有特殊字符替換的空格的值%的東西

+0

URLEncode.encode(myurl, 「UTF-8」)給我的「http:// www.mysite.com/d%C3%A9tail+du+jour.jpg「這不是我所需要的正確url,看起來像」http://www.mysite.com/d%C3%A9tail%20du%20jour。 jpg「 – user975502

+0

你有沒有嘗試過其他字符集編碼,如HTTP.ISO_8859_1第二個參數? –

+0

與HTTP.ISO_8859_1仍然給我D%E9tail + du + jour.jpg通過html頁面的源代碼的方式表明,charset = utf-8 – user975502