是的,就像标题所说,你会想到utf8集名称问题......也许它甚至是真的。
我有这个问题:
select distinct ort from veranstaltungsorte where ort like 'ka%';
虽然它以“ka”开头,但我得到了“Köln”。连同3个正确的城市。
当我使用
时select distinct ort from veranstaltungsorte where ort like 'kö%';
一切都是对的;只是我的数据库认为,Köln也以“ka”开头?!
我正在尝试字符集等等但是没有一个工作..任何想法?
答案 0 :(得分:0)
utf8_general_ci
会使用Ö
O
进行排序
所以也许这就是你想要的。
有关此here
的更多信息否则。如果您想搜索特定字符,例如ÄËÖ,您可以将其设置为utf8_swedish_ci
,以便与ö
一起使用
答案 1 :(得分:0)
这不是utf8_general_ci我之前已经尝试过了..它更像是这个:
ALTER TABLE tablename
CHANGE ort ort VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
重要提示:“喜欢”现在会对案例敏感。所以我将第一个字母大写,我就完成了。 不过感谢你的帮助。
答案 2 :(得分:0)
您实际存储在ort
列中的数据看起来不正确:Köln
实际上存储为Köln
。这可以解释为什么在查找ka
时获得匹配:就当前排序规则而言,KÃ = ka
。
事实上你之前没有注意到这一点意味着你实际上有两个问题:
在您阅读和写入时发生相同字符重整的事实意味着您在使用应用程序时可能不会发现任何问题。