2013-03-12 44 views
0

每当我在我的应用程序中搜索某个具有撇号“'”的内容时,请求将发送到数据库团队,它的格式如下:tai'an city。它增加了一个额外的Ampersand,它失败了请求(ASCII值为' - > & amp;#x27;)。如果手动删除多余的&符号(例如tai'an city),则会成功处理该请求。Extra Ampersand在请求中设置,从而获取虚假响应

如果我手动设置请求或尝试替换& amp;#x27; “'”就像

if(paramValue.contains("'")){ 
       paramValue = paramValue.replace("'", "'"); 
} 

但我知道这是不正确的做法。我想找到这个额外的&符号的起源。有人知道这件事吗?

+0

什么是表单数据? – Javier 2013-03-12 10:13:09

+0

按照你在问什么来填写数据?它是在后端构建的URL。 – Azfar 2013-03-12 10:16:54

+0

我强烈怀疑&符号来自于对浏览器的一些干扰,并且因为您将问题标记为* javascript *我认为必须有某种形式或链接,或者... – Javier 2013-03-12 10:18:28

回答

1

您可能在某种形式选项或URL中有一个撇号,浏览器将其转换为稍后发送到Web应用程序的实体。尝试:

<option value="tai%27an City">tai'an City</option> 

<a href="www.example.com/foo?bar=tai%27an City"> 

如果数据为&#x27;在数据库中原来存储,可能的情况下,它是通过在Web页面的用户(当重新编码即&#x27;&正在重新编码为&amp;)。例如,如果您正在使用JSP,则除非您指定<c:out escapeXml="false">,否则c:out将转义此类字符。如果不知道你在做什么步骤,我就猜不透,但我希望这能指导你解决你的问题。

+0

是撇号被存储到其等效ASCII:'在数据库..正确的值应该是tai &#x27;一个城市而不是tai & amp;#x27;一个城市 – Azfar 2013-03-12 10:27:53

+0

感谢哈维尔......我会看看 – Azfar 2013-03-12 10:43:52

+0

我的问题现在应该更清楚了。我强调了一些重要的事情 – Azfar 2013-03-12 10:52:46