特殊字符选择MySQL的问题

时间:2016-05-09 15:13:23

标签: mysql utf-8 character-encoding special-characters iso-8859-1

基于http://www.i18nqa.com/debug/utf8-debug.html我想在我的MySQL表中执行搜索,看看我是否有编码问题的行。

如果我运行以下查询:

select t.col1 from table t where t.col1 like '%Ú%' 

它将带来所有在其中包含'as'字符的t.col1。

如何更改查询以使其仅获取包含'%š%'的行,而不是所有包含'%as%'的行。

2 个答案:

答案 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。)