Sonderzeichen nicht als UTF-8 in DB

Sonderzeichen nicht als UTF-8 in DB

am 27.11.2007 22:44:38 von suntrop

Hallo,

mich macht gerade UTF-8 verrückt. An dieser Stelle
http://groups.google.com/group/de.comp.lang.php.datenbanken/ browse_thread/th=
read/3f702f9e2570989e
hatte jemand ein ähnliches Problem:

- Daten aus Formular werden in DB gespeichert.
- Tabelle ist als unicode gespeichert und alle Felder ebenso
- Dateien sind als UTF-8 gespeichert
- auf der Formular-Seite (Datei Eingabe) steht ganz oben
header("Content-Type: text/html; charset=3Dutf-8");
- auf der Website (Datenausgabe) steht mysql_query("SET NAMES
'utf8'"); und mysql_query("SET CHARACTER SET 'utf8'");

Daten die ich über phpmyAdmin eingebe werden anscheinend korrekt
gespeichert. Die Sonderzeichen werden in pma richtig wiedergegeben und
mit dem Zusatz Set NAMES 'utf-8' auch korrekt auf meiner Website
ausgegeben.
Aber die Daten die aus meinem Formular in der DB landen, werden von
pma "flasch" angezeigt und genauso falsch auf meiner Website angezeigt
(z.B. Hauptstraße).

Also gehe ich mal davon aus, dass auf dem Weg vom Formular zum Server
(zur MySQL DB) die Daten nicht als UTF-8 übertragen werden, sondern
als Latin-1 oder was auch immer. Jedenfalls kommen sie nicht mit der
richtigen Kodierung an.

Die Frage die mich jetzt seit Tagen umhertreibt, wie kann ich die
Daten korrekt an die DB senden? Das es einen Königsweg dabei gibt
bezweifele ich immer mehr, jetzt will ich nur noch das es
funktioniert.

Ich bin für jeden Ratschlag dankbar! Denn ich weiß hier echt nicht
mehr weiter und würde mich über Hilfe sehr freuen. Vielen Dank
schonmal für deine Mühe.

Grüße
suntrop

P.S.
Im Form-Tag steht auch accept-charset=3D"utf-8"

Re: Sonderzeichen nicht als UTF-8 in DB

am 29.11.2007 14:10:01 von Jonas Werres

> mich macht gerade UTF-8 verrückt. An dieser Stelle
> http://groups.google.com/group/de.comp.lang.php.datenbanken/ browse_thread/thread/3f702f9e2570989e
> hatte jemand ein ähnliches Problem:

Also bei mir hat es damals das SET NAMES getan.