Was ist Kollation latin1_swedish_ci?

Begonnen von deepsleep, 20 September 2005, 02:15:50

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

deepsleep

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
«Der beliebteste Fehler unter den Leuten, die etwas absolut idiotensicheres konstruieren wollen ist der, dass sie den Erfindungsreichtum von absoluten Idioten unterschätzen.»
Douglas Adams

Falkaner

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

NeMeSiSX2LC

Ja aber warum swedish?? Das meint er wohl... Wohnn doch irgendwie in DE ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Falkaner

Warum die alten Schweden voreingestellt sind entzieht sich auch meiner Kenntnis  ;)

Energy-drink

 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.
Ich bin alt aber bezahlt.... ;-)
Ich würde ja gerne die Welt verändern,
aber Gott gibt mir den Quellcode nicht!

deepsleep

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
«Der beliebteste Fehler unter den Leuten, die etwas absolut idiotensicheres konstruieren wollen ist der, dass sie den Erfindungsreichtum von absoluten Idioten unterschätzen.»
Douglas Adams