我发现自己迷失在有趣的情况下,我需要向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
是否支持这种语法。
答案 0 :(得分:3)
要获得unicode char,这样的事情应该有效:
SELECT CHAR(<number> USING utf8);
另外,不要使用REGEXP
,因为MySQL使用的regexp lib非常旧,并且不支持多字节字符集。