当用作链接href时,使用括号转换为十六进制代码

时间:2012-06-28 09:50:55

标签: email jsp url-encoding

当链接href中存在时,将括号括起来转换为十六进制代码。我有一个发送网址的电子邮件功能(其中包含大括号)。单击电子邮件中的链接时,大括号将转换为其十六进制代码(%7B和%7D),从而导致无法打开网页。 我使用jsp,javascript和html。

我从表单中获取详细信息(包括要发送的链接)并发送到jsp页面。该链接使用javascript encodeURIComponent进行编码,并使用java.net.URLDecoder.decode(str,“UTF-8”)在jsp中解码。这完全解码了值,但当它被写为链接的href时,只有花括号转换为十六进制代码。

它的adobe scene7图像网址类似于

www.somedomain.com/PROD_NAME?wid=600&sharpen=1&color=235,198,59&obj=shirt/shirt_fabric/pocket&decal&sharp=0&src=is {样品/ TEST3 / UGC // 9895846.tif妇女参与发展= 150}&安培; POS = 0,1.2&安培; RES = 30

它按照原样显示在邮件中,但是当点击该链接时,它会在浏览器中显示为

www.somedomain.com/PROD_NAME?wid=600&sharpen=1&color=235,198,59&obj=shirt/shirt_fabric/pocket&decal&sharp=0&src=is%7Bsample/test3/ugc// 9895846.tif妇女参与发展= 150%7D&安培; POS = 0,1.2&安培; RES = 30

这会导致处理网址失败。

由于

1 个答案:

答案 0 :(得分:1)

如果您还没有找到解决方案,可以用括号替换大括号。

例如:

www.somedomain.com/PROD_NAME?wid=600&sharpen=1&color=235,198,59&obj=shirt/shirt_fabric/pocket&decal&sharp=0&src=is{sample/test3/ugc//9895846.tif?wid=150}&pos=0,1.2&res=30

www.somedomain.com/PROD_NAME?wid=600&sharpen=1&color=235,198,59&obj=shirt/shirt_fabric/pocket&decal&sharp=0&src=is(sample/test3/ugc//9895846.tif?wid=150)&pos=0,1.2&res=30