Thay đổi đối chiếu bảng MySQL thành utf8_general_cs


8

Tôi đã cố gắng thay đổi bảng đối chiếu MySQL thành utf8_general_cs nhưng gặp lỗi sau:

mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE 'utf8_general_cs';
ERROR 1273 (HY000): Unknown collation: 'utf8_general_cs'

Tôi chạy lệnh "SHOW COLLATE" và "utf8_general_cs" không có trong kết quả.

Tôi có thể làm gì bây giờ?

Câu trả lời:


13

MySQL không có các đối chiếu Unicode phân biệt chữ hoa chữ thường, vì đây là một vấn đề khó. Một số ngôn ngữ đối chiếu chữ thường trước chữ hoa và một số ngôn ngữ khác đối chiếu chữ hoa trước chữ thường. SQL Server cố gắng thực hiện Unicode phân biệt chữ hoa chữ thường, xem xét ngôn ngữ.

Bạn có một vài lựa chọn:


Thật thú vị khi phân biệt chữ hoa chữ thường là một vấn đề khó. Nếu bạn yêu cầu tôi đoán, tôi sẽ chụp một trường hợp không nhạy cảm là một vấn đề khó giải quyết hơn. Bạn có thể giải thích một chút về điều đó?
Robo Robok

Câu tiếp theo mô tả vấn đề. IBM có một loạt các trang về "đối chiếu nhận biết ngôn ngữ". Không phân biệt chữ hoa chữ thường rất dễ, bởi vì ngôn ngữ sắp xếp các trường hợp khác nhau không quan trọng.
David M

Tôi vẫn không hiểu. Ngôn ngữ sắp xếp các ký tự theo dấu, không phải theo trường hợp.
Robo Robok

Xin lỗi, hôm nay tôi bận. Có lẽ điều này sẽ giúp: lmgtfy.com/?q=why+is+unicode+case+sensitive+hard
David M

Nó không trả về gì cả, vì tuyên bố của bạn không đúng.
Robo Robok
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.