Là bộ ký tự, nếu bạn có thể, chắc chắn là UTF-8.
Khi đối chiếu - điều đó hơi khó chịu đối với các ngôn ngữ có các ký tự đặc biệt. Có nhiều loại đối chiếu. Tất cả chúng đều có thể lưu trữ tất cả Umlauts và các nhân vật khác, nhưng chúng khác nhau về cách đối xử với Umlauts khi so sánh, tức là liệu
u = ü
là đúng hay sai; và sắp xếp (vị trí của Umlauts trong bảng chữ cái theo thứ tự sắp xếp).
Để ngắn gọn một câu chuyện dài, cách tốt nhất của bạn là
utf8_unicode_ci
Nó cho phép tìm kiếm không phân biệt chữ hoa chữ thường; Nó xử lý ß
dưới dạng ss
và sử dụng phân loại DIN-1. Đáng buồn thay, giống như tất cả các đối chiếu Unicode không phải nhị phân, nó xử lý u = ü
đó là một sự phiền toái khủng khiếp vì tìm kiếm "Muller" cũng sẽ trả về "Müller". Bạn sẽ phải giải quyết vấn đề đó bằng cách thiết lập đối chiếu nhận biết Umlaut trong thời gian thực.
hoặc utf8_bin
Đối chiếu này không có u = ü
vấn đề nhưng chỉ có thể tìm kiếm phân biệt chữ hoa chữ thường.
Tôi không hoàn toàn chắc chắn liệu có bất kỳ tác dụng phụ nào khác khi sử dụng đối chiếu nhị phân hay không; Tôi đã đặt câu hỏi về điều đó tại đây .
Trang hướng dẫn sử dụng mySQL này cung cấp một cái nhìn tổng quan tốt về các đối chiếu khác nhau và hậu quả mà chúng mang lại trong việc sử dụng hàng ngày.
Tại đây là tổng quan chung về các đối chiếu có sẵn trong mySQL.