UTF-8 karakterli bir MySQL veritabanı oluşturun.


142

MySQL'de yeniyim ve bilmek istiyorum:

Navicat'taki utf-8gibi 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:


232

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 .


1
MySQL'in utf8mb4geri kalanımız dediği şey utf8. Peki, MySQL'in ne utf8soruyorsun? 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 sonra utf8mb4doğ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ır utf8mb4.
— Stijn de Witt,

Tavşan deliğinden aşağı gitmek isterseniz: COLLATE utf8mb4_unicode_520_ciya utf8mb4_0900_ai_ciya ö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
— Frank Forte

@shellbye Bahsetmek üzere cevabınızı güncellemeyi düşünün utf8mb4_0900_ai_ci. Şundan daha iyi görünüyorutf8mb4_unicode_ci
— Manuel Jordan

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.