Unverständniss mit Kollation etc in MySQL >=4.1

MrSpoocy

Grünschnabel
Hi,

also ich nutze seit jahren MySQL 4.0 muß aber jetzt auf 5 umsteigen. Und genau da fehlt mir irgendwie nin bissel wissen.

Da ich mit MySQL 4.0 gearbeitet habe sind ja alle daten im ISO-8859-1 Forum an der Datenbank gespeichert.

Wenn ich nun in phpMyAdmin in SQL 5.0 eine tabelle anlege. Dort per phpMyAdmin daten einfüge werden die richtig ausgegeben. Auch wenn ich sie in einem simplen script abruffe. Hab auf ISO-... umgestellt konnte man kaum was erkennen (ist ja richtig da die daten in UTF8 gespeichert werden in mySQL 5.0). Hab im brwoser auf UTF-8 umgestellt wird alles richtig angezeigt. Nun aber das einfügen :/

Ein Simples Script:

PHP:
<?php
if (!empty($_REQUEST['msg'])) {
    if(!mysql_query("INSERT INTO test (name) VALUES ('".$_REQUEST['msg']."')"))
    {
    echo "<br>Error [".mysql_error()."]! <br><br>\n\n";
    }
}
    $get = mysql_query("SELECT name FROM test ORDER BY id");
    while($row = mysql_fetch_row($get))
    {
    echo "[".$row[0]."]<br>\n";
    }
?>


So, die seite ist auf ISO.. eingestellt, in KEINEM header gebe ich UTF-8 an (was ich auch nicht möchte !)
Wenn ich NUN daten einfüge, werden die auf der seite richtig angeziegt (weil ja ISO eingestellt ist zum anzeigen). Und in
phpMyAdmin falsch, was ja auch stimmt da dort UTF angezeigt wird. Wie mache ich denn jetzt das die daten beim speichern in die db nicht als ISO format sondern als UTF-8 gespeichert werden ?

Und nein, ich will nicht alles vorher mit utf8_en/de-code() umwandeln.

Wo genau defeniert man überhaupt welches format die datenbank hat !? Hab da 4 verschieden anzeigen.

MySQL-Zeichensatz: UTF-8 Unicode (utf8)
Zeichensatz / Kollation der MySQL-Verbindung: utf8_unicode_ci
Language: Deutsch - German (de-utf-8)

character set client utf8
(Globaler Wert) latin1
character set connection utf8
(Globaler Wert) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Globaler Wert) latin1
character set server latin1
character set system utf8
character sets dir /usr/local/mysql-standard-5.0.19-linux-i686/share/mysql/charsets/
collation connection utf8_unicode_ci
(Globaler Wert) latin1_german2_ci
collation database latin1_german2_ci
collation server latin1_german2_ci

Und dann noch bei jeder Tabelle: Kollation , was zum hänker ist das für nee einstellung ?

Bitte keine links auf englishe seiten da das bei mir echt grausam ist. An besten kurze beschreibung für , die versteh ich dann vieleicht auch. Komme echt nicht klar mit dem Charset gemache :/

mfg Spoocy
 
Zurück