Saya baru mengenal MySQL dan ingin tahu:
Bagaimana saya bisa membuat database dengan charset utf-8
seperti yang saya lakukan di navicat?
create mydatabase;
... tampaknya menggunakan beberapa jenis charset default.
Saya baru mengenal MySQL dan ingin tahu:
Bagaimana saya bisa membuat database dengan charset utf-8
seperti yang saya lakukan di navicat?
create mydatabase;
... tampaknya menggunakan beberapa jenis charset default.
Jawaban:
Catatan: Yang berikut ini sekarang dianggap sebagai praktik yang lebih baik (lihat jawaban bikeman868 ):
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Jawaban asli:
Coba ini:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;
Untuk informasi lebih lanjut, lihat Kumpulan dan Basis Data Karakter di Manual Referensi MySQL.
COLLATE utf8mb4_unicode_520_ci
atau utf8mb4_0900_ai_ci
atau bahkan lokal yang spesifik, misalnya: utf8mb4_vi_0900_ai_ci
. Untuk MariaDB 10.2.2+, Anda memiliki koleksi "nopad" utf8mb4_unicode_520_nopad_ci
. dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html
utf8mb4_0900_ai_ci
. Tampaknya lebih baik daripadautf8mb4_unicode_ci
Kamu harus menggunakan:
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Perhatikan bahwa utf8_general_ci
praktik terbaik tidak lagi direkomendasikan. Lihat tanya jawab terkait:
Apa perbedaan antara utf8_general_ci dan utf8_unicode_ci pada Stack Overflow.
utf8mb4_0900_ai_ci
. Tampaknya lebih baik daripadautf8mb4_unicode_ci
utf8mb4
adalah apa yang kita sebututf8
. Jadi apa yangutf8
Anda minta MySQL ? Ini adalah versi terbatas utf-8 yang hanya berfungsi untuk subset karakter tetapi gagal untuk hal-hal seperti emoji. Kemudian mereka menambahkanutf8mb4
implementasi mana yang benar, tetapi MySQL harus tetap kompatibel dengan kesalahan lama sehingga itulah sebabnya menambahkan pengkodean baru alih-alih memperbaiki yang lama. Semua database baru harus digunakanutf8mb4
.