Hallo,
ich schreibe ein paar kleine Scripte, indenen Formulardaten in einer MySQL-DB gespeichert werden und auch wieder angezeigt werden sollen.
Dabei gehen die Umlaute und Leerzeichen kaputt…
Aus „Römerhügel 3“ wird dann „R%F6merh%FCgel+3“. In der DB (über phpmyadmin) sieht das auch recht krypthisch aus…
Also alle Tabellen haben den kollation-typ: latin1_german1_ci.
Im Script steht als meta-Angabe oben: charset=ISO-8859-1.
Der Editor (Geany) ist eingestellt auf: Westlich (ISO-8859-1).
Im speichernden Script werden die Daten einfach übernommen mittels:
$nachname = $_POST[„nachname“];
Um anschl. in die DB eingefügt zu werden mittels:
$eintrag = „insert into kontakte(nachname…) values(’$nachname’…)“;
Die Daten werden ganz normal ausgelesen mit:
$abfrage = „select id,nachname…)“;…
echo $row[‚nachname‘].
Kann es auch am Standard-Zeichensatz im MySQl-Server liegen???
Wenn ja, wie stellt man diesen um??
Zeichensätze in MySQL können auf verschiedenen Ebenen „eingestellt“ werden, auf der Server-, der Datenbank-, der Tabellen- und der Spalten-Ebene. Insofern ist das Thema recht komplex. Meistens reicht aber ein
Guten Morgen!
Ich habe mir einen Dump der DB gezogen, die DB gelöscht und noch mal angelegt.
Nun ist alles richtig.
Obwohl die Anzeige der Umlaute in phpmyadmin noch immer falsch ist… werden die Daten aber in der Anwendung und auch im QueryBrowser richtig angezeigt. Vielleicht muß ich nun mal recherchieren wie man phpmyadmin umstellt…
Danke euch und allen ein super schönes Wochenende
Otmar