MySQL'in varsayılan harmanlaması neden latin1_swedish_ci?


112

Veya latin1_swedish_cigibi diğer seçenekler çok daha makul göründüğünde derlenmiş varsayılan olarak ayarlamanın arkasındaki mantık nedir ?latin1_general_ciutf8_general_ci


6
İsveçli az önce bu onuru satın aldı [şaka]
zerkms


1
Lütfen bunun utf8_general_ci4 baytlık UTF-8'i desteklemediğini unutmayın, bu nedenle gerçek UTF-8 desteği için istediğinizi utf8mb4_general_civeya diğer mb4değişkenlerden birini seçin.
ColinM

Yanıtlar:


109

Bunu yazan adam İsveçli bir şirketin eşbaşkanıydı .

Muhtemelen benzer nedenlerle, Microsoft SQL Server'ın varsayılan dili us_english.


5
O Finli, ancak Fince ve İsveççe neredeyse aynı özel karakterleri paylaşıyorlar, bu yüzden aynı büyük / küçük harf duyarlı harmanlamayı paylaşıyorlar
kommradHomer

5
'İyi varsayılanlar' hakkında konuşmak. Tabii ki bu değil. Bunu 20 yıl sonra görmek harika? bunu aklı başında bir varsayılana dönüştürdüler utf8_general_ci. İyi iş, MySQL!
Michael Trouw

2
ve bunun benim için en iyisi olabileceğini düşündüm, bc ben uzman değilim. Hayatım bir yalan iken
Pablo Escobar

3
Evet haklısınız, MariDB (Karısının adı Maria) ve MaxDB (Oğlunun adı Max) adını verdi. ama neden kızının adını bıraktı ..! :) LOL. !
Ajmal Praveen

90

latin1_swedish_ciaksine, tek baytlık bir karakter kümesidir utf8_general_ci.

Buna kıyasla latin1_general_ci, Avrupa dillerinde kullanılan çeşitli ekstra karakterleri destekliyor. Bu nedenle, hangi dili kullanacağınızı bilmiyorsanız, yalnızca tek baytlık karakter kümelerini kullanmakla sınırlandırılmışsanız, bu en iyi seçimdir.


36
Bu yanıtı beğendim çünkü latin isveççe seçimini nesnel olarak haklı çıkarmaya çalışıyor. Bununla birlikte, kabul edilen cevap, sosyal açıdan bakıldığında, özellikle İsveççe'nin neden seçildiği konusunda daha makul bir açıklama gibi görünüyor.
Alan

2
Bunun yazarın mantığı olması kesinlikle mümkün ve İsveçli olması bir tesadüf. Bir İsveçlinin ek Avrupalı ​​karakterleri desteklemek istemesi (ve bilmesi) mantıklı görünüyor.
Matt

3
-1 Kabul edilen cevap sadece bir fikir olabilir ama bu cevaptan 100 kat daha mantıklı. Ayrıca "onu yazan adam" ın da kızının ardından MariaDB, oğlunun da maxDB adını verdiğini görebilirsiniz.
kommradHomer

2
"latin1_general_ci, Avrupa dillerinde kullanılan çeşitli ekstra karakterleri destekler" - Bunu açıklığa kavuşturmak için, utf8_general_ci, utf8_unicode'dan farklı olarak, Avrupa dillerine özgü karakterler için geniş bir desteğe sahiptir. "Latin1_swedish_ci" ye göre bir avantaj görmüyorum. Yoksa yanılıyor muyum?
MEM

Örneğin, CHAR (2) latin1 2 bayt, CHAR (2) utf8mb4 (tam utf8) 8 bayt kullanır. 2 basamaklı ülke kodlarını saklamak için latin1 kullanıyorum çünkü hiçbir zaman Avrupa dışı karakterler
olmayacak
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.