Zur Navigation

Zeichensatz / Codierung

1 Tilman

Hallo,

ich habe bei mir bei Übertragungen von Eingaben über Ajax das Problem, dass Sonderzeichen (Umlaute) falsch vom Server "entgegengenommen" werden. Sende ich z.B. den Inhalt eines Input-Felds, übergebe den Inhalt dann über PHP an die Variable $inhalt, wird sie bei der Ausgabe mit echo $inhalt zwar richtig angezeigt, ist dann bei einer anschließenden Datenbankabfrage aber falsch.

Nutze ich ein normales Formular, so funktioniert alles. Woran liegt das, dass die eine Methode über das Formular klappt, die über Ajax aber nicht?

Nebenfrage: Momentan nutze ich bei meiner Website iso-8859-1 als Codierung. Ist uft-8 besser als Codierung?

25.05.2009 20:05

2 Jörg

utf-8 ist "zukunftsträchtiger" - es hat nicht solche Beschränkungen wie die einzelnen ISO-Zeichensätze und ist in XML und bei einigen modernen Betriebssystemen (wie z.B. neuere Linuxen) inzwischen der Standardzeichensatz.

Bei der Programmierung muss man aber auf verschiedenen Ebenen angeben, dass utf-8 verwendet wird, z.B. auch bei einer Datenbankverbindung.

mysql_query("SET NAMES 'utf8'");

Zu den verschiedenen Ebenen hatte ich hier mal einen Überblick verfasst:

http://notizen.joergkrusesweb.de/n-2008-9/umstellung-utf-8.html

02.06.2009 17:35 | geändert: 02.06.2009 17:36

Beitrag schreiben (als Gast)





[BBCode-Hilfe]