Android的广场毕加索不会加载波斯人物形象网址 [英] Android Square Picasso not load persian character image url

查看:138
本文介绍了Android的广场毕加索不会加载波斯人物形象网址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要创建由方毕加索的Web应用程序,但如果图像的URL中包含波斯字符(ا,ب,ج,ی...)毕加索不会加载图像。

此网址不工作:

  Picasso.with(mContext).load(\"http://www.shutterstock.ir/thumbs/10006/74601661-گربه-چشم-ابی-ولاغر-سیامی-در-یک-پس-زمینه-،-وکتور-سفید.jpg\")
    .placeholder(R.drawable.ic_launcher)
    .error(R.drawable.face_top_image).noFade()。调整(100,100)
    .into(ImageView的);

此网址工作

  Picasso.with(mContext).load(\"http://www.shutterstock.ir/thumbs/10006/74601661-%DA%AF%D8%B1%D8%A8%D9%87-%DA%86%D8%B4%D9%85-%D8%A7%D8%A8%DB%8C-%D9%88%D9%84%D8%A7%D8%BA%D8%B1-%D8%B3%DB%8C%D8%A7%D9%85%DB%8C-%D8%AF%D8%B1-%DB%8C%DA%A9-%D9%BE%D8%B3-%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D8%8C-%D9%88%DA%A9%D8%AA%D9%88%D8%B1-%D8%B3%D9%81%DB%8C%D8%AF.jpg\")
    .placeholder(R.drawable.ic_launcher)
    .error(R.drawable.face_top_image).noFade()。调整(100,100)
    .into(ImageView的);


解决方案

您需要URI EN code中的URL。

查看文档

  Uri.en code(URL);

或者,如果指定某些允许的字符了以下工作:

 私有静态最后弦乐ALLOWED_URI_CHARS =@#&安培; = * + -_,:!?()/〜'%;
字符串urlEn codeD = Uri.en code(路径,ALLOWED_URI_CHARS);

I want to create web application by square picasso, but if image url contains persian characters (ا،ب،ج،ی، ...) Picasso not load image.

This url not working:

        Picasso.with(mContext).load("http://www.shutterstock.ir/thumbs/10006/74601661-گربه-چشم-ابی-ولاغر-سیامی-در-یک-پس-زمینه-،-وکتور-سفید.jpg")
    .placeholder(R.drawable.ic_launcher)
    .error(R.drawable.face_top_image).noFade().resize(100, 100)
    .into(imageView);    

This url work

        Picasso.with(mContext).load("http://www.shutterstock.ir/thumbs/10006/74601661-%DA%AF%D8%B1%D8%A8%D9%87-%DA%86%D8%B4%D9%85-%D8%A7%D8%A8%DB%8C-%D9%88%D9%84%D8%A7%D8%BA%D8%B1-%D8%B3%DB%8C%D8%A7%D9%85%DB%8C-%D8%AF%D8%B1-%DB%8C%DA%A9-%D9%BE%D8%B3-%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D8%8C-%D9%88%DA%A9%D8%AA%D9%88%D8%B1-%D8%B3%D9%81%DB%8C%D8%AF.jpg")
    .placeholder(R.drawable.ic_launcher)
    .error(R.drawable.face_top_image).noFade().resize(100, 100)
    .into(imageView);    

解决方案

You need to URI encode the URL.

See the docs

Uri.encode(url);

Or, if specifying certain allowed characters the following works:

private static final String ALLOWED_URI_CHARS = "@#&=*+-_.,:!?()/~'%";
String urlEncoded = Uri.encode(path, ALLOWED_URI_CHARS);

这篇关于Android的广场毕加索不会加载波斯人物形象网址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆