2009-08-05 24 views
27

Khi tôi tạo cơ sở dữ liệu MySQL mới thông qua phpMyAdmin, tôi có tùy chọn để chọn đối chiếu (ví dụ: mặc định, armscii8, ascii, ... và UTF-8). Người mà tôi biết là UTF-8, vì tôi luôn thấy điều này trong mã nguồn HTML. Nhưng collation mặc định là gì? Sự khác biệt giữa các lựa chọn này là gì và tôi nên sử dụng loại nào?Trong MySQL, tôi nên chọn đối chiếu nào?

+0

nếu bạn muốn chính xác hơn, hãy sử dụng utf8_unicode_ci. tham khảo http://stackoverflow.com/questions/367711/what-is-the-best-collation-to-use-for-mysql-with-php –

+0

unicode_general_ci được khuyến nghị một trên codex wordpress: https: // codex. wordpress.org/Installing_WordPress – stare

Trả lời

15

Ghép không thực sự là mặc định, nó cung cấp cho bạn collation mặc định là lựa chọn đầu tiên.

Điều chúng tôi đang nói đến là collation hoặc ký tự được đặt mà cơ sở dữ liệu của bạn sẽ sử dụng trong các loại văn bản. Tùy chọn mặc định của bạn thường dựa trên cài đặt khu vực, do đó, trừ khi bạn đang lên kế hoạch toàn cầu hóa, điều đó thường là màu đào.

Các collations cũng xác định độ nhạy và độ nhạy của giọng (nghĩa là-Big '==' big '? Với CI, đúng vậy). Kiểm tra các MySQL list cho tất cả các tùy chọn.

+0

Còn UTF-8 thì sao? Tôi thấy wordpress sử dụng UTF-8? Tôi có nên sử dụng UTF-8 không? – bbtang

+0

UTF-8 là Unicode. Nếu bạn không ở trong một nước nói tiếng Anh, đó là một cược rất tốt để sử dụng nó. – Eric

+4

Tôi hiểu. Dự án của chúng tôi nhắm vào Hoa Kỳ và toàn thế giới, vì vậy tôi nghĩ sẽ tốt hơn nếu chúng tôi sử dụng UTF-8, tôi có đúng không? – bbtang

21

Collation cho cơ sở dữ liệu biết cách thực hiện đối sánh chuỗi và sắp xếp. Nó phải phù hợp với bộ ký tự của bạn.

Nếu bạn sử dụng UTF-8, collation phải là utf8_general_ci. Điều này sẽ sắp xếp theo thứ tự Unicode (phân biệt chữ hoa chữ thường) và nó hoạt động với hầu hết các ngôn ngữ. Nó cũng giữ nguyên thứ tự ASCII và Latin1.

Giá trị mặc định thường là latin1.

+2

Không sử dụng bất kỳ collations utf8 nào. Chúng chỉ lưu trữ tới 3 điểm mã byte. Đúng UTF-8 được gọi là utf8mb4 cho phép lên đến 4 byte và do đó bao gồm biểu tượng cảm xúc. https://mathiasbynens.be/notes/mysql-utf8mb4 – user1318499

+0

@ user1318499 Bạn có thể chuyển nhận xét của mình thành câu trả lời và cung cấp thêm chi tiết không? –

+0

Tôi đã quên hầu hết nội dung đó ngay bây giờ nên tôi không tự tin viết nhiều hơn nhưng tất cả thông tin phải nằm trong liên kết trong nhận xét của tôi nếu bạn muốn tự mình trả lời. – user1318499

Các vấn đề liên quan