2017-07-22 59 views
-1

我使用的毕加索图像载入库,发现其不加载某些URL不加载网址中包含土耳其字符毕加索与土耳其字符

例如以下网址决策问题https://satis.ugur.com.tr/uploads/user_1122/images/ued%20buzdolabı%20görseli.png

试图this但不工作

public static String encodeTurkishCharactersInUrl(String url) { 
     String[] list = new String[] {"ü","ç","ı","ö","ğ","ş"," ","Ü","Ç","İ","Ö","Ğ","Ş"}; 
     for (int i = 0; i< list.length ; i++) { 
      try { 
       url = url.replace(list[i], URLEncoder.encode(list[i],"UTF-8")); 
      } catch (UnsupportedEncodingException e) { 
       e.printStackTrace(); 
      } 
     } 

     return url; 
    } 

回答

0

我发现了一个解决方案,通过避免使用UTF8编码的空白区域,并用%20手动替换所有空格,现在网址正在工作

public static String encodeTurkishCharactersInUrl(String url) { 
     String[] list = new String[]{"ü", "ç", "ı", "ö", "ğ", "ş", "", "Ü", "Ç", "İ", "Ö", "Ğ", "Ş"}; 
     for (int i = 0; i < list.length; i++) { 
      try { 
       url = url.replace(list[i], URLEncoder.encode(list[i], "UTF-8")); 
      } catch (UnsupportedEncodingException e) { 
       e.printStackTrace(); 
      } 
     } 
     url = url.replaceAll(" ", "%20"); 

     return url; 
    }