简短版本:
在命令行mysql中,有哪种转义序列可以用来搜索Unicode字符?
详细版本:
我正在寻找一种方式,在mysql命令行中搜索包含Unicode序列U+200B的列记录。我无法确定要使用哪种转义字符。我尝试过 \u200B 和 x200B 以及,最后找到了一个建议使用_utf8语法的博客。这会在命令行上产生该字符:
select _utf8 x'200B';
现在我卡在了尝试在“LIKE”查询中使其工作。
这会生成字符,但是%似乎在放置在LIKE部分时失去了它们的特殊含义:
select _utf8 x'0025200B0025';
我也尝试了concat,但它也没有起作用:
select concat('%', _utf8 x'200B', '%');
更多背景信息:
我有一些数据中包含零宽空格字符(ZWSP),Unicode码点为U+200B。这通常是从使用ZWSP的网站上复制粘贴造成的。对于大多数Unicode字符,我可以将字符粘贴到终端中(或使用键码创建它),但由于这个字符是不可见的,所以有点棘手。我可以创建一个生成“%%”序列的文件,并将其复制/粘贴到终端中,这样就可以工作了,但它会使我的命令历史记录和终端输出混乱。我认为在MySQL中应该有一种简单的方法来解决这个问题,但到目前为止我还没有想出来。
提前感谢,
-Paul Burney