0

每当我在我的应用程序中搜索像 tai'an City 这样带有撇号“'”的东西时,请求就会发送到数据库团队,它的格式如下: tai'an city. 它正在添加一个额外的 & 符号,它使请求失败( ' --> ' 的 ASCII 值)。例如,如果手动删除多余的 &tai'an city号,则成功处理请求。

如果我手动设置请求或尝试替换 ' 与“'”类似

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

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

4

1 回答 1

1

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

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

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

如果数据最初存储&#x27;在数据库中,则可能会在将其传递给网页中的用户时对其进行重新编码(即&in&#x27;正在重新编码为&amp;)。例如,如果您使用 JSP,c:out除非您指定<c:out escapeXml="false">. 如果不知道您正在执行哪些步骤,我无法猜测更多,但我希望这可以指导您解决问题。

于 2013-03-12T10:09:02.433 回答