46

我在某些字符编码方面遇到了一些问题,导致我网站上的搜索表单出现了一些问题。其中一个可能的字段值中有一个 & 符号。选择此搜索并提交搜索时,AMPERSAND被编码为:%2526

在使用页面底部的分页链接并导航到结果列表中的第二页时,&符号被编码为:%26

最后...在尝试导航到列表中的第 3 页时,& 符号被更改回:&这会破坏表单,因为它假设有一个实际上不存在的变量。

为什么编码会改变?我怎样才能解决这个问题?谢谢你的帮助!

4

3 回答 3

74

看起来该字段被编码了两次。第一遍将导致 & 变为 %26,然后 urlencoding %26 将导致 %2526,因为 % 本身的编码是 %25。

于 2011-08-10T14:53:39.743 回答
1

如果你想在 Web API 中使用 Andaman & Nicobar。

您可以使用而不是 & 您可以使用 %26 并且整体将如下所示。

安达曼+%26+尼科巴

于 2018-03-21T15:34:01.160 回答
0

我假设您正在使用网页上显示的链接进行导航。

答案在于您如何在该链接的 href 标记中生成 URL。当您设置 href 属性的值时,您(很可能)没有重新编码 URL 中的 & 符号。

于 2011-08-10T14:55:00.867 回答