我遇到一个问题,隐藏的角色没有出现在数据库(phpmyadmin)或网站上。网站有utf-8字符编码。如果我将带有“隐藏”字符的字符串复制/粘贴到记事本中,我可以看到它。它看起来就像一个子弹角色但是被隐藏了。这是什么类型的字符,可以用PHP删除吗?
能够输入此字符的用户正在使用Mac并且可能正在从文档(可能是unicode?)复制/粘贴到我们网站上的表单中并保存它。因此,使用utf-8编码时,此字符不可见,但如果我将字符串复制到记事本文档中,则可见。
这是字符串末尾的隐藏字符。看起来像一颗子弹:
答案 0 :(得分:2)
复制角色,然后启动PowerShell并执行以下操作(是的,这是令人费解的,抱歉):
'U+{0:X4}'-f+[char]'<PASTE>'
并将字符粘贴到<PASTE>
。它应该为您提供该字符的Unicode代码点。然后你应该能够写出一些东西从字符串中删除它,但是从我的眼睛看,不应该有任何破坏文档布局的输入,除了像RTL标记这样有趣的东西。
上述简短说明:[char]'x'
将单字符字符串转换为字符,+
会将其视为数字(类似于[int]
,但更短)。其余的是格式字符串和格式化运算符-f
。