【问题标题】:Android url in UTF8UTF8 格式的 Android 网址
【发布时间】:2015-09-20 14:35:19
【问题描述】:

我正在尝试使用以下网址下载图片:

url --> http://www.example.com/path/to/image-ğüçöşı.jpg

InputStream input = new java.net.URL(url).openStream();
Bitmap bitmap = BitmapFactory.decodeStream(input);

但是在第一行应用程序崩溃。因为它有一个像“ı”或“ç”这样的字符。如果 url 没有这些字符,它不会崩溃并且可以正常工作。 我几乎可以说我尝试了大多数解决方案,如 utf8 编码等,包括将“UTF8”参数提供给 HttpClient。

如果您能帮助我,我们将不胜感激。我正在寻找任何不会大大降低代码速度的解决方案。

谢谢

【问题讨论】:

    标签: android url utf-8


    【解决方案1】:

    使用此代码编码您的网址或仅图像名称

    String query = URLEncoder.encode("strangeChars", "utf-8");
    

    【讨论】:

    • 我以前试过这个,我又试了一次,还是不行。它从example.com/wp-content/uploads/2015/06/… 变为 http%3A%2F%2Fwww.example.com%2Fwp-content%2Fuploads%2F2015%2F06%2Forucu_bozan_durumlar2-168x137.jpg
    • 仅编码图像名称会产生任何差异
    • 我的第二个想法是使用 URI.toASCIIString() 方法。希望会更好。
    猜你喜欢
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    相关资源
    最近更新 更多