根據http://www.i18nqa.com/debug/utf8-debug.html我想在我的MySQL表中執行搜索以查看我是否有具有編碼問題的行。特殊字符選擇MySQL的問題
如果我運行下面的查詢:
select t.col1 from table t where t.col1 like '%Ú%'
它會帶來所有具有t.col1「作爲對它們的字符。
如何更改查詢,使其僅提取包含'%Ú%'的行的,並非全部包含'%as%'。
根據http://www.i18nqa.com/debug/utf8-debug.html我想在我的MySQL表中執行搜索以查看我是否有具有編碼問題的行。特殊字符選擇MySQL的問題
如果我運行下面的查詢:
select t.col1 from table t where t.col1 like '%Ú%'
它會帶來所有具有t.col1「作爲對它們的字符。
如何更改查詢,使其僅提取包含'%Ú%'的行的,並非全部包含'%as%'。
,如果您使用排序規則latin1_swedish_ci
select t.col1 from table t where t.col1 regexp '^[Ú]';
請注意'REGEXP'相當蹩腳 - 它不理解字符集,只懂字節。所以哈桑使用它恰好工作。 –
隨着MySQL的排序規則,大小寫摺疊和口音剝離一起去嘗試。
如果您不需要,請使用..._bin
排序規則處理您正在使用的字符集。
WHERE foo LIKE '%Ú%' COLLATE utf8_bin
即使快將宣佈foo
是COLLATE utf8_bin
,而不是不管你有。 (注:utf8
默認爲utf8_general_ci
。)
剛剛測試過它,它的工作原理。 – Marius
這可能會幫助:http://stackoverflow.com/a/14007477 –
如果你想摺疊的情況下,但區分重音,請提交在http請求://錯誤.mysql.com。 –