例如 在 查询字段中是否含有é
时, 在 mysql 字段的字符集 utf-8 时,想匹配某拉丁字符时,mysql 分辨不出 e 和 é 的区别 ,会全部取出,可以用两种方式解决
1.collate utf8_bin
该语句是改变字符集为utf-8_bin,可分辨出 拉丁字符
SELECT * from tablename where a like '%ç%' collate utf8_bin;
2.BINARY
该关键字为把字段处理成 二进制的形式,在进行相应的操作,对与不同的字符,用二进制判断字符内容无疑是最准确的
SELECT * from tablename where BINARY a like '%é%';
附录 :特殊的字符
ü
Ññ
ä,ö,ü,ß
Åå Ää Öö
ò
Àà Èè Ìì Òò Ùù
Ĉĉ Ĝĝ Ĥĥ Ĵĵ Ŭŭ