Android Square Picasso无法加载波斯角色图片网址

dav*_*ani 4 android picasso

我想通过square picasso创建web应用程序,但如果图像url包含波斯字符(ا,ب,ج,ی,...)Picasso不加载图像.

这个网址不起作用:

        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);    
Run Code Online (Sandbox Code Playgroud)

这个网址工作

        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);    
Run Code Online (Sandbox Code Playgroud)

ste*_*bot 10

您需要对URL进行URI编码.

查看文档

Uri.encode(url);
Run Code Online (Sandbox Code Playgroud)

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

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