2012-03-05 46 views
0

在我们的应用程序中,通过附加请求参数生成一些URL,其中一些请求参数用于生成少量标签的URL,我们在生成之前编码这些文本链接:请求URL参数中的Escape'+'登录

title = URLEncoder.encode(match.getTitle(), "UTF-8"); 

当一个“+”号呈现为空白的URL,这可能是由于该URL正在考虑+作为一个空间,而不是一个字符的事实,该URL被嵌入静态邮件文件,它不是应用程序的一部分,因此这个将参数附加到URL的脏编码已完成。 请让我知道是否有些事情可以处理这类案件。

感谢和问候,

Vaibhav的

+1

你能举一个输入,输出和所需输出的例子吗? – Thomas 2012-03-05 08:55:11

+0

生成的URL就像是“http://www.mytesturl.com?title=mp3+ipod+music”,它显示为一个标签mp3 ipod music – vaibhav 2012-03-05 09:04:18

+0

@vaibhav - 这是什么问题?是否某些任意邮件程序不能正确处理URL?根据['application/x-www-form-urlencoded'](http://www.w3.org/TR/html4/interact/forms.html#h-17.13),使用'+'作为空格是正确的。 4.1) - 尽管用'%20'代替它们也是正确的。 – McDowell 2012-03-05 09:18:40

回答

0

+应该编码为%2B中未空间。但如果它不是match.getTitle().replaceAll("+", "%2B"); 并且它应该在另一端解码为+。