我有一个带有字符集latin1
(检查show variables like "character_set_database";
)和默认排序规则latin1_swedish_ci
(检查SHOW TABLE STATUS;
)的表。
我想使用latin1_general_cs
在我的系统上编译的 collation 运行查询(由 检查Show collation LIKE "%_cs";
):
select * from myTab WHERE col RLIKE '[[:upper:]]' COLLATE 'latin1_general_cs' LIMIT 10;
这给出了一个错误:
ERROR 1253 (42000): COLLATION 'latin1_general_cs' is not valid for CHARACTER SET 'utf8'
即使是默认排序规则也不起作用:
select * from myTab WHERE col RLIKE '[[:upper:]]' COLLATE 'latin1_swedish_ci' LIMIT 10;
错误:
ERROR 1253 (42000): COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'
怎么了?是因为我的终端以 UTF-8 格式发送数据吗?(是“UTF-8 中的连接”吗?)我怎么能使用区分大小写的排序规则?我需要它,否则似乎无法检查大写字母。