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.