在 Mediawiki 中,PAGENAME、PAGENAMEE 和 urlencode 中,哪一个实际存储在页面 table 中?
In Mediawiki, between PAGENAME, PAGENAMEE and urlencode, which one is actually stored in the Page table?
在我检查过的页面中,它们都是 return 相同的东西,但 Mediawiki 文档说存在差异。
我不担心差异,但页面中实际存储了哪一个 table?
知道了。我保存了页面 "Texas A & M" 并在页面 table 中显示为 "Texas_A_&_M".
根据 Mediawiki 的 Manual:PAGENAMEE_encoding 页面(我不能 post 超过两个链接),PAGENAME 是唯一将 & 符号转换为 & 而其他将其转换为 %26 的页面.
以下仍然不正确!
我以为是PAGENAME,结果PAGENAME居然没有用下划线代替空格
相反,我发现 here and here 您可以使用以下方法访问存储在页面 table 中的字符串:
$dbk = $title->getDBkey();
该片段是直接从 Mediawiki 代码中提取的。
似乎没有与此密钥相关联的魔法词。
我找不到数据库中 page_title
的来源,但看起来它只是页面名称替换了空格、引号和符号。也许它依赖于数据库。我正在使用 MySQL.
两者都不是。内部表示("DB key form")是没有命名空间的标题(在page_namespace
中作为数字单独存储),空格替换为下划线。代码是here。因此,它既不是 {{PAGENAME}}
是 human-readable 标题,也不是 {{PAGENAMEE}}
是 {{#urlencode:{{PAGENAME}}}}
有特殊情况的空格 -> 下划线。
在我检查过的页面中,它们都是 return 相同的东西,但 Mediawiki 文档说存在差异。
我不担心差异,但页面中实际存储了哪一个 table?
知道了。我保存了页面 "Texas A & M" 并在页面 table 中显示为 "Texas_A_&_M".
根据 Mediawiki 的 Manual:PAGENAMEE_encoding 页面(我不能 post 超过两个链接),PAGENAME 是唯一将 & 符号转换为 & 而其他将其转换为 %26 的页面.
以下仍然不正确!
我以为是PAGENAME,结果PAGENAME居然没有用下划线代替空格
相反,我发现 here and here 您可以使用以下方法访问存储在页面 table 中的字符串:
$dbk = $title->getDBkey();
该片段是直接从 Mediawiki 代码中提取的。
似乎没有与此密钥相关联的魔法词。
我找不到数据库中 page_title
的来源,但看起来它只是页面名称替换了空格、引号和符号。也许它依赖于数据库。我正在使用 MySQL.
两者都不是。内部表示("DB key form")是没有命名空间的标题(在page_namespace
中作为数字单独存储),空格替换为下划线。代码是here。因此,它既不是 {{PAGENAME}}
是 human-readable 标题,也不是 {{PAGENAMEE}}
是 {{#urlencode:{{PAGENAME}}}}
有特殊情况的空格 -> 下划线。