Hi!
Wenn ich nun die Tabelle mit
mysqldump datenbankname tabellennamen foo.sql
exportiere und im Zielsystem mit phpmysqladmin importiere werden die Umlaute als ? angezeigt.
Exportiere sie lieber mit expliziter Angabe der gewünschten Kodierung. Dafür gibt es einen Parameter. Beim Importieren solltest du ebenfalls die beim Exportieren verwendeten Kodierung angeben. Am besten ist es, wenn du dafür UTF-8 nimmst, damit lassen sich praktisch alle Zeichen verlustfrei darstellen.
Wie ermittele ich die Zeichencodierung der Quell-DB?
Das ist unerheblich. Die Kodierungsangabe der Felder dient nur zur Datenablage. Gelesen und geschrieben werden sie mit der auf der Client-Verbindung eingestellten Kodierung. MySQL kodiert da gegebenenfalls selbständig um, wenn die Kodierungen unterschiedlich angegeben worden sind.
Wie kann ich eine Zeichencodierung in eine andere Zeichencodierung konverteieren so daß die Sonderzeichen richtig umgesetzt werden?
So ein Umkodieren geht prinzipbedingt nicht in jede Richtung verlustfrei. Deswegen durchgängig UTF-8 verwenden, dann geht nichts verloren.
Umkodieren kannst du das mit entsprechenden Werkzeugen, beispielsweise iconv (sowohl PHP-Extension als auch Unix-Software). Doch du brauchst das in deinem Fall nicht, weil du beim Ex- und Importieren bereits die zu verwendende Zeichenkodierung angeben kannst.
Lo!