2010-10-14 17 views
40

Czy ktoś wie, dlaczego latin1_swedish jest domyślny dla MySQL. Wydaje mi się, że UTF-8 byłby bardziej kompatybilny, prawda?Dlaczego MySQL używa domyślnie latin1_swedish_ci?

Domyślne ustawienia są zwykle wybierane, ponieważ są najlepszym wyborem uniwersalnym, ale w tym przypadku nie wydaje się, że to, co zrobili.

+4

Dobre pytanie! mySQL jest (lub był kiedyś) szwedzką firmą, więc to jest prawdopodobnie powód dla szwedzkiej części ... Co do tego dlaczego latin1, nie wiem. –

+0

@Pekka +1 Ah ..... co jest interesujące. Nie wiedziałem tego. – Metropolis

+0

Możliwy duplikat [Dlaczego domyślne sortowanie MySQL latin1 \ _swedish \ _ci?] (Http://stackoverflow.com/questions/6769901/why-is-mysqls-default-collation-latin1-swedish-ci) –

Odpowiedz

27

O ile widzę, łaciński1 był domyślnym zestawem znaków w czasach przed wielobajtowych i wygląda na to, że był kontynuowany, prawdopodobnie ze względu na kompatybilność w dół (np. Dla starszych instrukcji CREATE, które nie określały sortowania) .

Od here:

Co 4,0 Did

MySQL 4.0 (i wcześniejszych wersjach) obsługiwane tylko co wyniosło połączonej pojęciem zestawu znaków i zestawień z jednobajtowych kodowania znaków, która została określona na poziomie serwera. Wartość domyślna to latin1, co odpowiada zestawowi znaków latin1 i sortowaniu latin1_swedish_ci w MySQL 4.1.

Jako dlaczego szwedzki, mogę tylko domyślać, że to dlatego, MySQL AB jest/był szwedzki. Nie widzę żadnego innego powodu, dla którego wybrałbym tę układankę, ale z pewnymi specyficznymi dziwactwami sortowania (jak mówię po Z), ale nie są one w pobliżu międzynarodowego standardu.

+2

Myślę, że maby wybrać tę raczej dziwną kolokację, aby było oczywiste dla użytkownika, że ​​to się zmieni. co oczywiście w większości wypadków nie spełniło się zgodnie z oczekiwaniami, ale zostało uniemożliwione przez tyranię domyślnej :) –

+2

@TheSurrican, co za dziwna odpowiedź. Co sprawia, że ​​jest to dziwne zestawienie? To szwedzka wersja standardu latin1 wybrana przez szwedzką firmę. To tak, jak Oracle wybiera język angielski w USA dla swoich produktów. – chrismacp

+0

Jak o latin1_swedish_ci jest ISO 8859-1 i ISO 8859-1 jest pierwszym z dostępnych wyborów po posortowaniu, więc jeśli nie podasz żadnego wyboru,