MySQLのデフォルトの照合がlatin1_swedish_ciなのはなぜですか?


112

またはなどlatin1_swedish_ci、他のオプションがはるかに合理的であると思われる場合に、コンパイル済みデフォルトとして設定する理由は何ですか?latin1_general_ciutf8_general_ci


6
スウェーデン人がその名誉を買ったばかり[ジョーク]
zerkms


1
utf8_general_ciは4バイトのUTF-8をサポートしていないため、真のUTF-8サポートが必要なutf8mb4_general_ci場合、または他のmb4バリアントの1つが必要になることに注意してください。
ColinM 2018

回答:


109

それを書いスウェーデンの会社の共同責任者でした。

同様の理由で、Microsoft SQL Serverのデフォルト言語はus_englishです。


5
彼はフィンランド人ですが、フィンランド語とスウェーデン語はほとんど同じ特殊文字を共有しているため、大文字と小文字を区別しない同じ照合順序を共有しています
kommradHomer 2014

5
「良いデフォルト」について話す。もちろん、これはそうではありません。なんと20年経ってそれを見て素晴らしい?彼らはこれをのような健全なデフォルトに変更しましたutf8_general_ci。よくできました、MySQL!
Michael Trouw

2
そして、それは私にとって最良だと思いました、BC私は専門家ではありません。私の生涯は嘘です
Pablo Escobar

3
はい、そうです、彼はMariDB(妻の名前はMaria)とMaxDB(彼の息子の名前はMax)と名付けました。しかし、なぜ彼は彼の娘の名前を残しました... :) 笑。!
Ajmal Praveen

89

latin1_swedish_ciとは異なり、1バイト文字セットutf8_general_ciです。

それに比べてlatin1_general_ci、ヨーロッパ言語で使用されるさまざまな追加文字をサポートしています。したがって、使用する言語がわからない場合や、1バイト文字セットのみを使用するように制限されている場合は、これが最良の選択です。


36
ラテンスウェーデン語の選択を客観的に正当化しようとするため、この回答が好きです。しかし、受け入れられた答えは、なぜスウェーデン語が特に選ばれたのかについて、社会的見地から、よりもっともらしい説明のようです。
2011

2
これが著者の推論であり、偶然にも彼がスウェーデン人であったことは確かに可能です。スウェーデン人が追加のヨーロッパ文字をサポートすることを望んでいる(そして知っている)ことは理にかなっているようです。
Matt

3
-1受け入れられた回答は単なる意見である可能性がありますが、この回答より100倍合理的です。また、「それを書いた人」が娘の後にMariaDBを、息子の後にmaxDBを付けたことがわかります。
kommradHomer 2014

2
「latin1_general_ciは、ヨーロッパ言語で使用されるさまざまな追加文字をサポートしています」-これを明確にするために、utf8_general_ciは、utf8_unicodeとは異なり、ヨーロッパ言語固有の文字を幅広くサポートしています。「latin1_swedish_ci」に勝る利点はありません。それとも私は間違っていますか?
2015

たとえば、CHAR(2)latin1は2バイトを使用し、CHAR(2)utf8mb4(完全なutf8)は8バイトを使用します。非ヨーロッパ文字がなることはありませんので、私は2桁の国コードを格納するlatin1の使用
the_nuts
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.