0

根據http://www.i18nqa.com/debug/utf8-debug.html我想在我的MySQL表中執行搜索以查看我是否有具有編碼問題的行。特殊字符選擇MySQL的問題

如果我運行下面的查詢:

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

它會帶來所有具有t.col1「作爲對它們的字符。

如何更改查詢,使其僅提取包含'%Ú%'的行的,並非全部包含'%as%'

+0

這可能會幫助:http://stackoverflow.com/a/14007477 –

+0

如果你想摺疊的情況下,但區分重音,請提交在http請求://錯誤.mysql.com。 –

回答

1

,如果您使用排序規則latin1_swedish_ci

select t.col1 from table t where t.col1 regexp '^[Ú]'; 
+0

請注意'REGEXP'相當蹩腳 - 它不理解字符集,只懂字節。所以哈桑使用它恰好工作。 –

0

隨着MySQL的排序規則,大小寫摺疊和口音剝離一起去嘗試。

如果您不需要,請使用..._bin排序規則處理您正在使用的字符集。

WHERE foo LIKE '%Ú%' COLLATE utf8_bin 

即使快將宣佈fooCOLLATE utf8_bin,而不是不管你有。 (注:utf8默認爲utf8_general_ci。)

+0

剛剛測試過它,它的工作原理。 – Marius