儘管有關於這個主題的所有討論,但我無法解決排序問題。混淆了mysql中的排序規則
創建一個數據庫有:
CREATE DATABASE Desk_Database CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;
創建一個表叫用戶和插入以下數據:
INSERT INTO Users (KlantGroep, TypeUser, Naam, Password) VALUES ("BNOF", "Manager", "André", "kkk"); INSERT INTO Users (KlantGroep, TypeUser, Naam, Password) VALUES ("BNOF", "User", "Ingrid", "ppp");
現在使用下面的查詢它給出了一個時排回,但它不應該找到任何行,因爲André
不同於Andre
:
SELECT klantgroep, typeuser FROM processors
WHERE naam = 'Andre' AND password = 'kkk';
什麼是我不明白。我認爲utf8_unicode_ci
不會丟掉e
的重音,但它顯然是。
我考慮過這個,但我不知道從哪裏開始在操作系統。 我使用Windows 7 Enterprise 32bit,荷蘭語。 – eengebruiker
Windows 7不允許UTF8作爲默認的操作系統編碼,所以我不知道這是你的問題。如果您只是爲了測試而訪問Unix/Linux服務器,我會好奇的看看問題是否消失。看起來這可能是一個更適合ServerFault或SuperUser的討論。 – davidethell
隨着表中填充了兩個給定的行,我不能再添加一行納姆'André'或'安德烈'了。它應該接受'安德烈',但它不會。 恐怕我並不聰明,從你指點的討論中找出正確的東西。切換到Unix服務器目前不適合我。 使用Windows 7時,是否有首選排序規則和字符集? – eengebruiker