Tạo cơ sở dữ liệu MySQL với bộ ký tự UTF-8


142

Tôi mới biết về MySQL và tôi muốn biết:

Làm thế nào tôi có thể tạo một cơ sở dữ liệu với bộ ký tự utf-8như tôi đã làm trong navicat?

create mydatabase;

... dường như đang sử dụng một số loại bảng mã mặc định.

Câu trả lời:


232

Lưu ý: Sau đây được coi là một cách thực hành tốt hơn (xem câu trả lời của bikeman868 ):

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Câu trả lời gốc:

Thử đi:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;

Để biết thêm thông tin, hãy xem Bộ ký tự và đối chiếu cơ sở dữ liệu trong Hướng dẫn tham khảo MySQL.


1
MySQL utf8mb4là những gì phần còn lại của chúng ta gọi utf8. Vậy utf8bạn hỏi MySQL là gì? Đây là phiên bản giới hạn của utf-8, chỉ hoạt động cho một tập hợp con của các ký tự nhưng không thành công cho những thứ như biểu tượng cảm xúc. Sau đó, họ đã thêm vào utf8mb4đó là cách thực hiện chính xác, nhưng MySQL phải tương thích ngược với các lỗi cũ của nó, vì vậy đó là lý do tại sao mã hóa mới được thêm vào thay vì sửa lỗi cũ. Tất cả các cơ sở dữ liệu mới nên sử dụng utf8mb4.
Stijn de Witt

Nếu bạn muốn đi xuống hang thỏ: COLLATE utf8mb4_unicode_520_cihoặc utf8mb4_0900_ai_cihoặc thậm chí locale cụ thể, ví dụ: utf8mb4_vi_0900_ai_ci. Đối với MariaDB 10.2.2+, bạn có các đối chiếu "nopad" utf8mb4_unicode_520_nopad_ci. dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html
Frank Forte

@shellbye Cân nhắc cập nhật câu trả lời của bạn để đề cập đến utf8mb4_0900_ai_ci. Có vẻ tốt hơnutf8mb4_unicode_ci
Manuel Jordan

63

Bạn nên sử dụng:

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Lưu ý rằng utf8_general_cikhông còn được khuyến nghị thực hành tốt nhất. Xem phần hỏi đáp liên quan:

Sự khác biệt giữa utf8_general_ci và utf8_unicode_ci trên Stack Overflow.


Xem xét để cập nhật câu trả lời của bạn để làm đề cập đến utf8mb4_0900_ai_ci. Có vẻ tốt hơnutf8mb4_unicode_ci
Manuel Jordan
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.