在Java中编码URL的最佳方法

时间:2011-03-13 18:57:12

标签: java uri url-encoding

嗨,伙计们,

我有一个网址,我希望将其嵌入mailto的正文中。直到现在,我已经尝试了两种方法对URL进行编码,这两种方法都没有给我带来好的结果:

URLEncoder - 这给了我电子邮件中的加号,因为显然URLEncoder仅适用于查询参数。

org.apache.commons.httpclient.URI - 这不会给我完整的网址。它给了我与之前在帖子中所解释的相同的结果:Escape & symbol in MailTo

我该怎么办?

谢谢:) Krt_Malta

2 个答案:

答案 0 :(得分:6)

如何使用URIUtil中的httpclient

URIUtil.encodeQuery(strUrl, "UTF-8");

对以下地址mailto:jo han.sjoberg@m.com进行编码会产生mailto:jo%20han.sj%C3%83%C2%B6berg@m.com

从技术上讲,+%20都是可接受的空格编码。

答案 1 :(得分:1)

由于空格已转换为+,只需将+的所有实例替换为正文中的%20即可吗?

mailto: ?subject=Look at this link&body=Check%20out%20this%20too%20http://localhost:9001/view/shopindex/display?keyword=test%26searchPostcode=Postcode"

Demo