2012-08-31 21 views
1

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

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

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

+0

你能发布一个链接到生成的输出(html)吗? – donald123

+0

[链接](http://www.fz.se/temp/rasmus/character.html)这是一个链接。将此内容复制/粘贴到记事本中,您应该看到该字符。 – musse1

回答

2

复制的字符,然后火起来PowerShell和执行下列操作(是的,这是令人费解的,不好意思):

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

,并在那里说:<PASTE>粘贴字符。它应该为您提供该字符的Unicode代码点。然后,你应该能够写出一些东西,将它从字符串中移除,但从我的眼中,不应该有任何破坏文档布局的输入,除了可能有趣的东西,例如RTL标记。上述的


简短说明:[char]'x'转换单字符串为一个字符,将+然后把它作为一个数字(类似于[int],但较短的)。其余的是格式字符串和格式化运算符-f

+0

它将字符转换为问号。正如你刚才所说的那样: PS C:\ Users \ user>'U + {0:X4} -f'+ [char]'?' U + {0:X4} -f? PS C:\ Users \ user>? – musse1

+0

是的,我在答案中有一个错字,它已经更新。 – Joey

+0

U + 2028这可能吗?它的谷歌显示它是一个行分隔符:http://www.fileformat.info/info/unicode/char/2028/index.htm – musse1