将包含 %3A(冒号)的编码 url 字符串传递给 APEX 页面会在最后一个 %3A 之后截断
Passing encoded url string containing %3A (colon) to an APEX page truncates everting after the last %3A
我正在使用 ORACLE APEX 5.0.1
我正在将一个 url 字符串传递给一个 APEX 应用程序,我在其中对所有特殊字符进行了编码,如果 url APEX 中有一个或多个 %3A
(冒号)截断我传递的值。
这只影响我传递的最后一个变量和最后一个 %3A
之后的剩余部分,但是如果我在 url 的最后放置一个 %3A
它在 APEX 中工作。
我在其他论坛上问过这个问题,这似乎是 APEX 中的一个相对未知的问题,没有任何相关的答案来解释这个问题。
此示例将值传递给 tre 字段
"...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,VMKF%3AU%202012%3A50"
P32_XX
和P32_YY
取值ok
P32_ZZ
只获取值 "VMKF:U 2012"
但是如果我像这样
在 url 的末尾放一个 %3A
"...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,VMKF%3AU%202012%3A50%3A"
它工作正常并且 P32_ZZ
得到值 "VMKF:U 2012:50".
我已经在 Windows Explorer 11、Google Crom 和 Mozilla Firefox(最新版本)中进行了相同行为的测试。
如果我使用文字冒号 (:
)
,我也会有同样的行为
感谢帮助
问题是冒号是 APEX 不同部分的分隔符 URL。我很惊讶使用 %3F
没有解决它,但解决方案是用 \...\
包围整个值,如下所示:
...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,\VMKF%3AU%202012%3A50\
请注意,您现在甚至不需要转义冒号:
...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,\VMKF:U%202012:50\
我正在使用 ORACLE APEX 5.0.1
我正在将一个 url 字符串传递给一个 APEX 应用程序,我在其中对所有特殊字符进行了编码,如果 url APEX 中有一个或多个 %3A
(冒号)截断我传递的值。
这只影响我传递的最后一个变量和最后一个 %3A
之后的剩余部分,但是如果我在 url 的最后放置一个 %3A
它在 APEX 中工作。
我在其他论坛上问过这个问题,这似乎是 APEX 中的一个相对未知的问题,没有任何相关的答案来解释这个问题。
此示例将值传递给 tre 字段
"...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,VMKF%3AU%202012%3A50"
P32_XX
和P32_YY
取值ok
P32_ZZ
只获取值 "VMKF:U 2012"
但是如果我像这样
%3A
"...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,VMKF%3AU%202012%3A50%3A"
它工作正常并且 P32_ZZ
得到值 "VMKF:U 2012:50".
我已经在 Windows Explorer 11、Google Crom 和 Mozilla Firefox(最新版本)中进行了相同行为的测试。
如果我使用文字冒号 (:
)
感谢帮助
问题是冒号是 APEX 不同部分的分隔符 URL。我很惊讶使用 %3F
没有解决它,但解决方案是用 \...\
包围整个值,如下所示:
...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,\VMKF%3AU%202012%3A50\
请注意,您现在甚至不需要转义冒号:
...../apex/f?p=118:32:::::P32_XX,P32_YY,P32_ZZ,:100030,486,\VMKF:U%202012:50\