Wordpress 将其放在我在实时站点上的永久链接的末尾... %E2%80%8E 有人知道为什么吗?多谢你们?!
6 回答
如果您从 MS Word 或写字板或类似编辑器复制帖子标题。这个字符就像行尾。
步骤 1) 识别链接,然后打开它出现在 WordPress 仪表板中的帖子或页面。
步骤 2) 我们需要删除导致问题的不可见字符,因此删除 URL 中的最后几个字符,包括引号,这样
步骤 3) 手动重新键入已删除的内容。
步骤 4) 单击更新,然后查看修改后的帖子以确认问题已解决。
这些不可见的 unicode 字符实际上是存在的(不情愿地)。使用箭头键在它们上移动光标时,您可以注意到它们。它们通常通过 Word 等格式编辑器添加。这很疯狂,但 Edge 甚至将它们添加到窗口标题 =-O(与密码管理器混淆)或 MS Teams Wiki 到代码片段(用于保留空格缩进的纯文本)。
摆脱它们很复杂,因为如今几乎所有纯文本编辑器和浏览器(因此所有 web 应用程序)都支持 unicode,甚至ctrl-shift 粘贴它们也会保留它们。即使您尝试退格它们,编辑器通常也会保留它们来为您保留 rtl/ltr 文本方向。
将标题复制到一些十六进制编辑器,删除那里的字符并将其复制回来。或者只复制地址栏中的 ascii 部分(如果它们是 URL 编码的)并通过选择全部(ctrl-a)来清除标题字段。
我用:
- PSPad(本机)
- Notepad++(带有 HEX-Editor 插件)
常见的隐形字符:
码点 | UTF-8 十六进制 | 姓名 |
---|---|---|
U+200B | e2 80 8b | 零宽度空间 |
U+200E | e2 80 8e | 从左到右的标记 |
`U+200F | e2 80 8f | 从右到左的标记 |
https://www.utf8-chartable.de/unicode-utf8-table.pl?start=8192&number=128
是的,如果您从某个编辑器那里复制它。
简单的解决方案是从编辑器中复制内容并将其粘贴到“记事本”文本编辑器中,因为它不支持 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 +