Powinieneś użyć sortowania utf8_unicode_ci
kiedy używasz niemieckich znaków, zgodnie z dyskusją w tym błędzie:Bug #39816 Zestawienie niemieckie pod utf8_unicode_ci jest niepoprawny
.
Pomimo tytułu tego błędu, właśnie przetestowałem to na 5.6.15 i twój przypadek testowy działa, podczas gdy domyślne sortowanie Unicode nie działa:
CREATE TABLE `test` (
`id` varchar(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_unicode_ci;
INSERT INTO `test` (`id`) VALUES ('das'), ('daß');
PS:Zalecam korzystanie ze środowiska programistycznego z tymi samymi wersjami całego oprogramowania co środowisko produkcyjne lub przynajmniej z tą samą główną wersją. Jeśli programujesz w wersji 5.5, a następnie spróbujesz wdrożyć w wersji 5.0, na pewno napotkasz inne niezgodności.