在Java中编码URL的最佳方法
嗨,大家好,
我有一个URL,我想将它嵌入到mailto
的主体中。 直到现在,我已经尝试了两种方法对URL进行编码,这两种方法都没有给我带来好的结果:
URLEncoder
– 这给了我电子邮件中的加号,因为显然URLEncoder仅适用于查询参数。
org.apache.commons.httpclient.URI
– 这不会给我完整的URL。 它给了我与之前在post中解释的结果相同的结果: MailTo中的Escape和符号
我能做什么?
谢谢:) Krt_Malta
如何使用httpclient
URIUtil
?
URIUtil.encodeQuery(strUrl, "UTF-8");
编码以下地址mailto:jo han.sjoberg@m.com
给mailto:jo%20han.sj%C3%83%C2%B6berg@m.com
mailto:jo han.sjoberg@m.com
mailto:jo%20han.sj%C3%83%C2%B6berg@m.com
从技术上讲, +
和%20
都是可接受的空格编码。
由于空格被转换为+
,只需用体内的%20
替换+
所有实例就足够了吗?
mailto: ?subject=Look at this link&body=Check%20out%20this%20too%20http://localhost:9001/view/shopindex/display?keyword=test%26searchPostcode=Postcode"
演示