Створіть базу даних MySQL із схемою UTF-8


142

Я новачок у MySQL і хотів би знати:

Як я можу створити базу даних із utf-8шаблоном, як я робив у navicat?

create mydatabase;

... здається, використовує якусь схему за замовчуванням.

Відповіді:


232

Примітка . Наступне вважається кращою практикою (див . Відповідь bikeman868 ):

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Оригінальна відповідь:

Спробуйте це:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;

Для отримання додаткової інформації див. Набір символів баз даних та зіставлення у Довідковому посібнику MySQL.


1
MySQL - utf8mb4це те, що ми називаємо решта utf8. Отже, що utf8ви запитуєте MySQL ? Це обмежена версія utf-8, яка працює лише для підмножини символів, але не працює для таких матеріалів, як смайли. Пізніше вони додали, utf8mb4що це правильна реалізація, але MySQL повинен залишатися назад сумісним зі старими помилками, тому додано нове кодування замість виправлення старого. Усі нові бази даних повинні використовувати utf8mb4.
Штійн де Вітт

Якщо ви хочете йти вниз по кролячій норі: COLLATE utf8mb4_unicode_520_ciабо utf8mb4_0900_ai_ciабо навіть локаль конкретні, наприклад: utf8mb4_vi_0900_ai_ci. Для MariaDB 10.2.2+, ви маєте порівняння "nopad" utf8mb4_unicode_520_nopad_ci. dev.mysql.com/doc/refman/8.0/uk/charset-unicode-sets.html
Франк Форте

@shellbye Подумайте, щоб оновити свою відповідь, щоб згадати про неї utf8mb4_0900_ai_ci. Здається, кращеutf8mb4_unicode_ci
Мануель Йордан

63

Ви повинні використовувати:

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Зауважте, що utf8_general_ciце більше не рекомендується найкраща практика. Дивіться відповідні запитання:

Яка різниця між utf8_general_ci та utf8_unicode_ci у стеку Overflow.


Подумайте оновити свою відповідь, щоб згадати utf8mb4_0900_ai_ci. Здається, кращеutf8mb4_unicode_ci
Мануель Йордан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.