最近需要查询历史记录里的合法的注册名,但注册名中会含有中文。

怎么整? google大婶帮不上了,度娘也没什么查到的 。

于是我用 mysql里的HEX 把字段转为 2进制, 然后正则匹配 对应中文的code码。

我们的字段存储的是utf8,所以查询了[最近需要查询历史记录里的合法的注册名,但注册名中会含有中文。

怎么整? google大婶帮不上了,度娘也没什么查到的 。

于是我用 mysql里的HEX 把字段转为 2进制, 然后正则匹配 对应中文的code码。

我们的字段存储的是utf8,所以查询了](http://wenku.baidu.com/view/f4c225340b4c2e3f572763da.html) (如果你的是gbk系的就查对应的编码对照就可以了)

还有  数字(3[0-9]) 字母(4[0-9A-F] 5[0-9A] 6[0-9A-F] 7[0-9A])对应的code

正则可以写为:

HEX(name) REGEXP '[[:<:]](e[4-9][0-9a-f]{4}|3[0-9]|4[0-9A-F]|5[0-9A]|6[0-9A-F]|7[0-9A]|5F)+[[:>:]]'

e[4-9][0-9a-f]{4} 对应的就是汉字了。

[[:<:]] 和 [[:>:]] 是 mysql正则的起止符。