1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

MySQL Datenbank

Dieses Thema im Forum "PHP & Co." wurde erstellt von mschoening, 08.11.07.

  1. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Hi,
    wie kann ich eine Datenbank die durch eine CMS Installation entstanden ist und die collation latin_swedish_ci (MAMP war glaube ich so eingestellt) hat in das gängiste collation format umwandeln? Achso, was empfiehlt sich da? Irgendwas mit utf-8?

    P.S: Ich habe von MySQL nicht sehr viel Ahnung wie man bestimmt merkt...

    Thanks,
    Max
     
  2. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    Datenbank dumpen (File-encoding: ISO 8859-1)
    Datei in einem Texteditor öffnen (Textmate, Eclipse, ...)
    "DEFAULT CHARSET" bei den Tabellenstruktur Definitionen von "latin1" auf "utf-8" setzen (find/replace)
    Datei speichern (Charset beim speichern auf UTF-8 stellen)
    neue Datenbank als UTF-8 anlegen
    neues SQL-File importieren

    btw: die Kollation hat nichts mit dem Charset zu tun:
    [CITE]
    A collation is a set of rules for comparing characters in a character set. Let's make the distinction clear with an example of an imaginary character set.[...] (siehe: http://dev.mysql.com/doc/refman/5.1/en/charset-general.html)
    [/CITE]

    noch eine Anmerkung: MySQL unterstützt erst ab Version 4.1.x UTF8

    lg.c7
     
  3. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Hi, thanks für die ausführlche Erklärung. Ich habe aber noch Fragen dazu:

    1.) Die Datenbank dumpen ist klar, aber wenn ich die dumpe wem/was soll ich dann die ISO 8859-1 geben (und wie)?
    2.) Wie oft steht das "DEFAULT CHARSET" in der SQL query? Nur am Anfang 1x?
    3.) Wie lege ich die Datenbank als utf-8 an? Ich verwende phpMyAdmin.
    4.) Was bedeutet bei phpMyAdmin: MySQL connection collation?

    EDIT: und wenn ich die utf-8 anlege welche da? Ich habe da tausende... utf-8 bin?

    Thanks,
    Max
     
  4. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Ich habe das gerade mal versucht so wie ich mir das denke:

    1.) Erstmal bei mir in MAMP das MySQL charset auf utf-8 und die MySQL connection collation auf utf-8 bin gestellt.
    2.) Neue Datenbank mit Create New Database und in dem Drop-Down für Collation habe ich utf-8 bin ausgewählt.
    3.) Dann habe ich die alte Datenbank (auch in MAMP drinn) exportiert und anschließend in die neue importiert.

    Ergebnis: Ich sehe jetzt zwar in der Übersicht wo alle Datenbanken drinn stehen, dass die Datenbank utf-8 ist aber wenn ich mir die einzelnen Tabellen, etc. anschaue steht in der Spalte Collation immernoch: latine1_swedish_ci.
     
  5. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    Die Collation hat nichts mit dem charset zu tun. siehe link im vorigen Post
     
  6. drlecter

    drlecter Wöbers Rambur

    Dabei seit:
    04.11.06
    Beiträge:
    6.442
  7. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Hi,
    hab es jetzt hinbekommen. Ist es normal das wenn ich das mache was creative7even beschrieben hat (hat alles so weit geklappt wie er meint) und ich alle latin1 durch utf-8 bei mir in der SQL Query replaced habe, dass ich dann bei Importieren auf einmal bei allen Tables utf8_general_ci stehen habe?

    Auf was soll ich denn dann bei phpMyAdmin auf der home die MySql Connection Collation stellen?

    Thanks
     
  8. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
  9. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Hi,
    wie kann ich denn mein gesamtes Paket auf utf-8 umstellen?
    Ich habe wenn ich bei phpMyAdmin auf Variables gehe nur bei session die utf-8 Werte. Bei global value steht immer noch dieses latin1_swedish_ci
     
  10. creative7even

    creative7even Jerseymac

    Dabei seit:
    23.02.05
    Beiträge:
    454
    mschoening und Nathea gefällt das.

Diese Seite empfehlen