Bạn nên sử dụng đối chiếu utf8_unicode_ci
khi bạn sử dụng các ký tự tiếng Đức, theo thảo luận trong lỗi này: Lỗi # 39816 Đối chiếu tiếng Đức dưới utf8_unicode_ci là không chính xác
.
Bất chấp tiêu đề của lỗi đó, tôi vừa kiểm tra lỗi này vào 5.6.15 và trường hợp thử nghiệm của bạn hoạt động, trong khi đối chiếu unicode mặc định không hoạt động:
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ß');
Tái bút:Tôi khuyên bạn nên sử dụng một môi trường phát triển có cùng phiên bản của tất cả phần mềm như môi trường sản xuất của bạn, hoặc ít nhất là chia sẻ cùng một phiên bản chính. Bạn nhất định gặp phải những điểm không tương thích khác nếu bạn phát triển ở phiên bản 5.5 và sau đó cố gắng triển khai lên phiên bản 5.0.