我正在使用URL中的特殊字符安装
然而,我遇到两个问题
1)空白空间
如果我在网址内有查询
e.g. test.php?test=aaa bbbb cccc
然后查询将不包括bbbb和cccc,我知道我应该将“”替换为%20,但是,如何使用replace(" ","%20")
,我怎样才能以更标准的方式进行?
2)url中的繁体中文
我有一个像这样的图片网址:
http://oshc.zizsoft.com/wp-content/uploads/2014/04/1-職安健資訊產品目錄2013-220x300.png
如果我直接传递给android,它会失败。但如果我将链接复制到我的桌面浏览器,它会改为这样,然后我将其粘贴到android上,它可以正常工作
"http://oshc.zizsoft.com/wp-content/uploads/2014/04/1-%E8%81%B7%E5%AE%89%E5%81%A5%E8%B3%87%E8%A8%8A%E7%94%A2%E5%93%81%E7%9B%AE%E9%8C%842013-220x300.png";
我该怎么做才能对此进行编码?
感谢您的帮助
更新
它变为
http%3A%2F%2Foshc.zizsoft.com%2Fwp-content%2Fuploads%2F2013%2F12%2FSQ1-351x300.jpg
我该如何解决?感谢
答案 0 :(得分:1)
1)尝试修剪网址,它会从网址中删除空格。我想它更有一种解决这个问题的标准方法。
2)这个问题完全归因于编码问题。我们的Android默认编码是cp1252 ...并且这些字符串不会以相同的方式编码,因此当它在代码中使用时会自动更改为其他一些符号。因此,尝试将项目和字符串的编码更改为UTF-8或其他类似的编码。您可以通过更改项目编码 性状>资源>编码
希望我的建议对你有所帮助。
答案 1 :(得分:1)
如果您想以编程方式对网址进行编码和解码,请使用Java和Android中提供的URLEncoder和URLDecoder类。
// To encode URL
URLEncoder.encode(url, charset);
// to decode url
URLDecoder.decode(url, charset);