隐藏的角色(看起来像子弹)会破坏文档

时间:2012-08-31 08:51:18

标签: php database unicode utf-8 notepad

我遇到一个问题,隐藏的角色没有出现在数据库(phpmyadmin)或网站上。网站有utf-8字符编码。如果我将带有“隐藏”字符的字符串复制/粘贴到记事本中,我可以看到它。它看起来就像一个子弹角色但是被隐藏了。这是什么类型的字符,可以用PHP删除吗?

能够输入此字符的用户正在使用Mac并且可能正在从文档(可能是unicode?)复制/粘贴到我们网站上的表单中并保存它。因此,使用utf-8编码时,此字符不可见,但如果我将字符串复制到记事本文档中,则可见。

这是字符串末尾的隐藏字符。看起来像一颗子弹:

1 个答案:

答案 0 :(得分:2)

复制角色,然后启动PowerShell并执行以下操作(是的,这是令人费解的,抱歉):

'U+{0:X4}'-f+[char]'<PASTE>'

并将字符粘贴到<PASTE>。它应该为您提供该字符的Unicode代码点。然后你应该能够写出一些东西从字符串中删除它,但是从我的眼睛看,不应该有任何破坏文档布局的输入,除了像RTL标记这样有趣的东西。


上述简短说明:[char]'x'将单字符字符串转换为字符,+会将其视为数字(类似于[int],但更短)。其余的是格式字符串和格式化运算符-f