基于http://www.i18nqa.com/debug/utf8-debug.html我想在我的MySQL表中执行搜索,看看我是否有编码问题的行。
如果我运行以下查询:
select t.col1 from table t where t.col1 like '%Ú%'
它将带来所有在其中包含'as'字符的t.col1。
如何更改查询以使其仅获取包含'%š%'的行,而不是所有包含'%as%'的行。
答案 0 :(得分:1)
如果您使用的是校对latin1_swedish_ci
,请尝试此操作select t.col1 from table t where t.col1 regexp '^[Ú]';
答案 1 :(得分:0)
使用MySQL的排序规则,案例折叠和重点剥离结合在一起。
如果您不想要,请对您正在使用的字符集使用..._bin
排序规则。
WHERE foo LIKE '%Ú%' COLLATE utf8_bin
更快的是将foo
声明为COLLATE utf8_bin
而不是你拥有的任何内容。 (注意:utf8
的默认值为utf8_general_ci
。)