编码URL包含阿拉伯语单词

时间:2015-03-16 17:47:55

标签: java android encoding

我有包含一些阿拉伯语单词和空格的音频文件的网址

http://globalmedia.cc/Testing/CMS/main/مسلسلات/مسلسلات كوميدية /يوميات ونيس/الحلقة الثانية.mp3

我试过

URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef());
        url = uri.toURL();

结果是//无法正常工作

http://globalmedia.cc/Testing/CMS/main/مسلسلات/مسلسلات%20كوميدية%20/يوميات%20ونيس/الحلقة%20الثالثة.mp3

当我在谷歌浏览器中的这个链接然后再次复制它时,它就变成了

http://globalmedia.cc/Testing/CMS/main/%D9%85%D8%B3%D9%84%D8%B3%D9%84%D8%A7%D8%AA/%D9%85%D8%B3%D9%84%D8%B3%D9%84%D8%A7%D8%AA%20%D9%83%D9%88%D9%85%D9%8A%D8%AF%D9%8A%D8%A9%20/%D9%8A%D9%88%D9%85%D9%8A%D8%A7%D8%AA%20%D9%88%D9%86%D9%8A%D8%B3/%D8%A7%D9%84%D8%AD%D9%84%D9%82%D8%A9%20%D8%A7%D9%84%D8%AB%D8%A7%D9%86%D9%8A%D8%A9.mp3

这对我有用。 我想通过java代码执行Google Chrome所做的事情吗? 提示:URL不包含参数,所以我想按原样编码URL。 任何帮助!

1 个答案:

答案 0 :(得分:0)

试试这个:

String url = "http://globalmedia.cc/Testing/CMS/main/مسلسلات/مسلسلات كوميدية /يوميات ونيس/الحلقة الثانية.mp3";
        try {
            urlEncoded = URLEncoder.encode(url, "utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
System.out.println("Encoded URL: "+urlEncoded);