在PHP中获取Mystery Character的ord()值

时间:2011-11-10 16:25:26

标签: php unicode

我有一个奇怪的空格字符,以某种方式插入我的数据库。我想知道这个可能的unicode字符是什么,但我遇到了一些问题。例如:

我有字符串“”,其中看似普通的空间是神秘人物。“然后我想得到ord()值。如果我echo ord(' ');我得到194这是不正确的。我知道它是某种unicode角色,因为如果我echo strlen(' ');我得到2

我需要知道这个字符的unicode值,所以我可以做一个MYSQL查询,在我的数据库中一劳永逸地删除它。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

根据php docs,ord()返回字符的ASCII值。如果你知道你的角色不是ASCII,那么这个功能就不是你想要的了。我会尝试回显该字符(确保您使用UTF-8作为连接的字符集),复制它并将其粘贴到http://unicodelookup.com/以查看此字符的含义。

答案 1 :(得分:1)

您可以尝试运行echo '0x' . bin2hex( $mystery_character );并谷歌搜索结果。

在MySQL中搜索:

SELECT col FROM table WHERE col LIKE CONCAT('%', CHAR(0xc2a0), '%')

将其替换为常规空间:

UPDATE table SET col = REPLACE(col, CHAR(0xc2a0), ' ')