MySQL'de yeniyim ve bilmek istiyorum:
Navicat'taki utf-8
gibi charset ile veritabanı nasıl oluşturabilirim ?
create mydatabase;
... bir çeşit varsayılan karakter kümesi kullanıyor gibi görünüyor.
MySQL'de yeniyim ve bilmek istiyorum:
Navicat'taki utf-8
gibi charset ile veritabanı nasıl oluşturabilirim ?
create mydatabase;
... bir çeşit varsayılan karakter kümesi kullanıyor gibi görünüyor.
Yanıtlar:
Not: Aşağıdakilerin şimdi daha iyi bir uygulama olduğu düşünülmektedir (bkz. Bikeman868'in cevabı ):
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Orijinal cevap:
Bunu dene:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;
Daha fazla bilgi için, MySQL Referans Kılavuzundaki Veritabanı Karakter Seti ve Harmanlama bölümüne bakın .
COLLATE utf8mb4_unicode_520_ci
ya utf8mb4_0900_ai_ci
ya örneğin, belirli hatta yerel ayarı: utf8mb4_vi_0900_ai_ci
. MariaDB 10.2.2+ için "nopad" harmanlamaları vardır utf8mb4_unicode_520_nopad_ci
. dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html
utf8mb4_0900_ai_ci
. Şundan daha iyi görünüyorutf8mb4_unicode_ci
Kullanmalısın:
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
utf8_general_ci
Artık en iyi uygulama önerilmediğini unutmayın . İlgili soru ve cevaplara bakın:
Stack Overflow'ta utf8_general_ci ve utf8_unicode_ci arasındaki fark nedir ?
utf8mb4_0900_ai_ci
. Şundan daha iyi görünüyorutf8mb4_unicode_ci
utf8mb4
geri kalanımız dediği şeyutf8
. Peki, MySQL'in neutf8
soruyorsun? Bu, yalnızca karakterlerin bir alt kümesi için çalışan ancak emoji gibi şeyler için başarısız olan utf-8'in sınırlı bir sürümüdür. Daha sonrautf8mb4
doğru uygulamanın hangisi olduğunu eklediler , ancak MySQL'in eski hatalarla geriye dönük olarak uyumlu olması gerekiyor, bu yüzden eskisini düzeltmek yerine yeni bir kodlama eklendi. Tüm yeni veritabanları kullanmalıdırutf8mb4
.