2016-05-18 23 views
13

Ben mariadb/MySQL giriş ve girilen:MariaDB/MySQL içinde utf8mb4_unicode_ci ve utf8mb4_unicode_520_ci collations arasındaki fark?

SHOW COLLATION; 

Ben mevcut alfabe arasında utf8mb4_unicode_ci ve utf8mb4_unicode_520_ci görüyoruz. Bu harmanlamalar birbirinden nasıl farklıdır ve hangisini kullanmalıyız?

+1

SO [burada] (https://dba.stackexchange.com/questions/65863/mysql-collation-utf8-unicode-differences) ve [burada] (https://stackoverflow.com/questions) hakkındaki yanıtları buldum/18904883/what-is-the-utf8-unicode-ci-ve-utf8-unicode-520-ci arasındaki fark) ve anlaşılması kolay bir açıklama var [burada] (https://www.monolune.com) /)/mySQL-utf8-charsets-ve-alfabe-açıkladı. – Flux

cevap

16

Iyi belgelere okumak gerekir olacaktır. Ne kullanacağını sana söyleyemem çünkü her proje farklı.

10.1.3 Harmanlama adlandırma kuralları

MySQL harmanlama adları bu kuralları izleyin:

bir harmanlama adı diğer belirten bir veya birden fazla soneklerinin ardından o ilişkili olduğu belirlenen karakterin adı ile başlar harmanlama özellikleri. Örneğin, utf8_general_ci ve latin_swedish_ci, sırasıyla utf8 ve latin1 karakter kümeleri için harmanlamalardır.

bir dile özgü harmanlama dil adını içerir. Örneğin, utf8_turkish_ci ve utf8_hungarian_ci, utf8 karakter için sırasıyla Türkçe ve Macarca kurallarını kullanan karakterleri sıralar. (Karakteri, karşılaştırmalar karakter ikili kod değerlerine dayanır ikili) sıralamak için

Örnek duyarlılık _ci (Hassas), _cs (küçük harf duyarlı) veya _bin ile gösterilir. Örneğin, latin1_general_ci büyük/küçük harf duyarsızdır, latin1_general_cs büyük-küçük harf duyarlıdır ve latin1_bin ikili kod değerlerini kullanır.

Unicode için, harmanlama adları harmanlama dayandığı Unicode Harmanlama Algoritma (TDM) sürümünü belirtmek için bir sürüm numarası içerebilir. Bir sürüm numarası olmayan UCA tabanlı harmanlar, sürüm-4.0.0 UCA ağırlık anahtarlarını kullanır.

utf8_unicode_ci TDM dayalıdır (adında bir versiyon ile)> (http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt) ağırlık tuşları 4.0.0: Örneğin.

utf8_unicode_520_ci TDM dayanır (http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt) ağırlık anahtarları 5.2.0.

Unicode için xxx_general_mysql500_ci harmanlamaları, orijinal xxx_general_ci harmanlamalarının 5.1.24 öncesi sırasını korur ve MySQL 5.1.24'ten önce oluşturulan tabloların yükseltilmesine izin verir. Daha fazla bilgi için, bkz. Bölüm 2.11.3, “Tabloların veya Dizinlerin Yeniden Yapılması Gerekiyor” ve Bölüm 2.11.4, “Tabloları veya Dizinleri Yeniden Oluşturma veya Onarma”.

Kaynak: https://dev.mysql.com/doc/refman/5.6/en/charset-collation-names.html

İlgili konular