2010-10-14 5 views
40

Weiß jemand, warum latin1_swedish der Standard für MySQL ist. Es scheint mir, dass UTF-8 kompatibler wäre, oder?Warum verwendet MySQL latin1_swedish_ci als Standard?

Defaults werden normalerweise gewählt, weil sie die beste universelle Wahl sind, aber in diesem Fall scheint es nicht, was sie getan haben.

+4

Gute Frage! mySQL ist (oder war) eine schwedische Firma, das ist wahrscheinlich der Grund für den schwedischen Teil ... Warum latin1, weiß ich nicht. –

+0

@Pekka +1 Ah ..... das ist interessant. Das wusste ich nicht. – Metropolis

+0

Mögliches Duplikat von [Warum ist die Standard-Kollatierung von MySQL latin1 \ _swedish \ _ci?] (Http://stackoverflow.com/questions/6769901/why-is-mysqls-default-collation-latin1-swedish-ci) –

Antwort

27

Soweit ich sehen kann, war latin1 der Standard-Zeichensatz in Pre-Multibyte-Zeiten und es sieht so aus, als wäre das fortgesetzt worden, wahrscheinlich aus Gründen der Abwärtskompatibilität (zB für ältere CREATE-Anweisungen, die keine Sortierung angegeben haben) .

Von here:

Was 4.0 Did

MySQL 4.0 (und früheren Versionen) unterstützt nur das, was belief sich auf einem kombinierten Begriff der Zeichensatz und Sortier mit Single-Byte-Zeichenkodierungen, welches auf Serverebene angegeben wurde. Der Standardwert war latin1, was einem Zeichensatz von latin1 und einer Sortierung von latin1_swedish_ci in MySQL 4.1 entspricht.

Wie, warum schwedischen, kann ich nur vermuten, dass es ist, weil MySQL AB ist/war schwedisch. Ich kann keinen anderen Grund sehen, diese Sammlung zu wählen, es kommt mit einigen spezifischen Sortierquirks (ÄÖÜ nach Z ich denke), aber sie sind bei weitem kein internationaler Standard.

+2

ich denke, sie maby wählen diese ziemlich ungerade Kollokation, um es für den Benutzer offensichtlich zu machen, dass es geändert werden sollte. was natürlich in den meisten Fällen war nicht wie erwartet, aber wurde durch die Tyrannei der Standard verhindert :) –

+2

@TheSurrican, Was für eine seltsame Antwort. Was macht das zu einer seltsamen Zusammenstellung? Es ist die schwedische Version von Standard latin1, die von einer schwedischen Firma ausgewählt wurde. Es ist genau wie Oracle, das US-Englisch für seine Produkte wählt. – chrismacp

+0

Wie sieht es mit latin1_swedish_ci aus, wenn ISO 8859-1 und ISO 8859-1 die erste der verfügbaren Optionen ist, wenn sie sortiert sind. Wenn Sie also keine Auswahl treffen, wählt das