pragmaMx Support Forum

alles für Webmaster => PhP & mySQL => Thema gestartet von: deepsleep am 20 September 2005, 02:15:50

Titel: Was ist Kollation latin1_swedish_ci?
Beitrag von: deepsleep am 20 September 2005, 02:15:50
Hallo Zusammen

So, habe gerade eben wieder einmal ein PragmaMx installiert. Bei meinem neuen Provider ist mySQL Version 4.1.11 installiert und PHP 5.0.4.

Die neue MySQL-Version bringt mit unter auch ein Feld mit (Datenbank und Tabellen) das da heisst: Kollation.

Wenn ich nun also PragmaMX mittels Installationsroutine installiere, so wird mir bei allen Tabellen im Feld Kollation der Wert «latin1_swedish_ci» eingetragen. Aber eigentlich sollte dort doch «latin1_german1_ci» stehen, oder nicht? Was bezweckt dieses «Kollation» eigentlich genau?

Vermutlich gibts da ja keine Möglichkeit, diesen Wert über die gesamte Datenbank zu korrigieren. Woher kommt denn diese Einstellung überhaupt?

Hat da mein Provider etwa rumgeeiert oder liegts an mir?

Gruss
Deepsleep
Titel: Re: Was ist Kollation latin1_swedish_ci?
Beitrag von: Falkaner am 20 September 2005, 07:37:30
Moin,

Kollation ist def. der Zeichensatz. "latin1_swedish_ci" ist die Voreinstellung und sollte auch so beibehalten werden, wenn es keine Probleme mit den Umlauten gibt.

Gruß
Falk
Titel: Re: Was ist Kollation latin1_swedish_ci?
Beitrag von: NeMeSiSX2LC am 20 September 2005, 09:07:54
Ja aber warum swedish?? Das meint er wohl... Wohnn doch irgendwie in DE ;)
Titel: Re: Was ist Kollation latin1_swedish_ci?
Beitrag von: Falkaner am 20 September 2005, 09:29:39
Warum die alten Schweden voreingestellt sind entzieht sich auch meiner Kenntnis  ;)
Titel: Re: Was ist Kollation latin1_swedish_ci?
Beitrag von: Energy-drink am 20 September 2005, 09:35:53
 Hallo,
in MySQL4.1 wurde der Zeichensatz / Kollation eingeführt.

Die Kollation/Zeichensatz ist der verwendete Zeichensatz. Dies kann z.B. ASCII sein.
Früher gab es 7Bit ASCII, dies enthielt die häufigsten 128 Zeichen der englischen Sprache.
Also _keine_ Umlaute.
Irgendwann wurde 8Bit ASCII eingeführt, mit Umlauten.
Kurz vor 8-Bit ASCII wurde der ANSII Standard eingeführt (auch 8 Bit), dort sind die 128 Zeichen des 7-Bit ASCII vorhanden, aber die Zeichen danach (Sonderzeichen) unterscheiden sich von 8 Bit ASCII.

Der Hexcode für ein ä:
ANSI: E4
ASCII: 84

Normale Windows/Linux User in unseren Breitengeraden verwenden den ISO-8859-1 Standard, dies entspricht dem ANSI Standard.

So aber ein Chinese würde mit unseren 256 Zeichen nicht zurechtkommen, deswegen gibt es noch deutlich mehr Zeichensätze.

z.B. der Unicode, 16 Bit pro Zeichen. Die ersten 256 Zeichen sind wie beim ANSI Standard, danach kommen aber diverse andere Zeichen.
Insgesamt sind es 65535 verschiedene Zeichen.

Naja damit MySQL dies alles effektiv speichern kann, legt man den Zeichensatz fest.


Unter den neueren phpMyAdmin Versionen findest du bei Struktur noch folgendes:
SQL-Export-Kompatibilität

Dort kann man verschiedenes auswählen, für deine Zwecke solltest du MySQL323 auswählen.
Titel: Re: Was ist Kollation latin1_swedish_ci?
Beitrag von: deepsleep am 20 September 2005, 14:55:39
Hallo

Danke schon mal für die Antworten.

Wahrscheinlich liege ich mit meiner Vermutung recht, dass mein Provider beim mySQL-Update diese Einstellung übersehen hat. Was soll ich denn hier in der Schweiz mit «latin1_swedish_ci»?

Denke mal, solange mein Provider diese Anpassung nicht vornimmt (und im Moment sieht es nicht danach aus), werde ich die Tabellen von Hand ändern müssen.

Gruess
Deepsleep