带有非打印字符的MySQL查询(从左到右标记)

时间:2013-04-23 15:20:20

标签: mysql unicode

我发现自己迷失在有趣的情况下,我需要向MySQL查询包含所谓Left-to-right mark的字段。

由于此字符的性质是非打印,因此不可见,我无法简单地将其复制/粘贴到查询中。

正如链接的维基百科文章中所提到的,从左到右的标记是Unicode字符U + 200F,这是我确信在当前冒险中成功的关键。

我的问题是:如何在MySQL查询中使用原始Unicode?有点像:

SELECT * FROM users WHERE username LIKE '%\U+200F%'

SELECT * FROM users WHERE username REGEXP '\U+200F'

或者MySQL中Unicode的正确语法是什么,取决于LIKE和/或REGEXP是否支持这种语法。

1 个答案:

答案 0 :(得分:3)

要获得unicode char,这样的事情应该有效:

SELECT CHAR(<number> USING utf8);

另外,不要使用REGEXP,因为MySQL使用的regexp lib非常旧,并且不支持多字节字符集。