【发布时间】:2012-05-07 16:37:49
【问题描述】:
Wordpress 将其放在我在实时站点上的永久链接的末尾... %E2%80%8E 有人知道为什么吗?谢谢大家?!
【问题讨论】:
-
那是 url 编码的 UTF-8。这出现在谷歌:wordpress.org/support/topic/bad-page-suffix-in-url
标签: wordpress permalinks
Wordpress 将其放在我在实时站点上的永久链接的末尾... %E2%80%8E 有人知道为什么吗?谢谢大家?!
【问题讨论】:
标签: wordpress permalinks
如果您从 MS Word 或写字板或类似编辑器中复制帖子标题。这个字符就像行尾。
【讨论】:
第 1 步)识别链接,然后打开它出现在 WordPress 仪表板中的帖子或页面。
第2步)我们需要删除导致问题的不可见字符,因此删除URL中的最后几个字符,包括引号,这样
第 3 步)手动重新键入已删除的内容。
第 4 步)点击更新,然后查看修改后的帖子以确认问题已解决。
【讨论】:
是的,如果你是从某个编辑器那里复制的。
简单的解决方案是从编辑器中复制内容并将其粘贴到“记事本”文本编辑器中,因为它不支持 UTF-8 字符。
您会很容易注意到文本中有错误的字符/文本,例如“%E2%80%8E”。
【讨论】:
这些都是不可打印的 ASCII 字符
就像这些都是äÄçÇéÉêöÖÐþúÚ
删除使用此代码
function remove_non_ascii(str) {
if ((str===null) || (str===''))
return false;
else
str = str.toString();
return str.replace(/[^\x20-\x7E]/g, '');
}
console.log(remove_non_ascii('äÄçÇéÉêHello-WorldöÖÐþúÚ'));
【讨论】:
如果您在链接中使用某些字符,WordPress 将显示 %E2%80%8E 而不是那些。例如,如果您在链接中使用半空格(CTRL + Space 或 CTRL + Shift + 2),WordPress 会显示 %E2%80%8E。解决方案:只需在链接中使用 text + -
【讨论】:
这些不可见的字符实际上是存在的(不情愿地)。将标题复制到某个十六进制编辑器,将其删除并复制回来。
通常的不可见字符是:
| Code point | UTF-8 hex | Name |
|---|---|---|
| U+200B | e2 80 8b | ZERO WIDTH SPACE |
| U+200E | e2 80 8e | LEFT-TO-RIGHT MARK |
| `U+200F | e2 80 8f | RIGHT-TO-LEFT MARK |
https://www.utf8-chartable.de/unicode-utf8-table.pl?start=8192&number=128
【讨论】: