Einzelnen Beitrag anzeigen

Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#6

AW: TIdHTTP.Post / PHP / Umlaute in Formulardaten

  Alt 6. Sep 2010, 22:27
Hallo,

ob dein Delphi-Code korrektes UTF-8 sendet weiß ich nicht, dass muss dir jemand anderes sagen. Gehen wir aber mal davon aus, dann sollte folgender PHP-Code Abhilfe schaffen:

PHP-Quellcode:
header('Content-Type: text/html; charset=utf-8');

echo $_POST['daten'];
Statt des Header-Aufrufs, kann man bei Apache-Servern auch eine Datei namens .htaccess anlegen und mit folgendem Inhalt versehen:

Code:
AddDefaultCharset utf-8
Denke einfach immer daran, eine Informations-Kette zu erstellen. Jedes beteiligte Element dieser Kette muss den Charset direkt oder indirekt wissen. Delphi kodiert die Daten als UTF-8 und sendet diese (mit entsprechender Markierung!!) an PHP. PHP weiß dann zwar, dass es sich um UTF-8 handelt, aber der Browser weiß das nicht. Also muss auch der via HTTP-Header informiert werden.

Noch ein kleines Experiment: Bei kaputtem Charset im Firefox unter Ansicht -> Zeichenkodierung mal einen anderen Charset auswählen. Sofern man nicht irgendwas kaputt-kodiert hat (utf8_decode ), hat man damit das Problem meist schon identifiziert. Man sieht also, dass lediglich dem Browser die Kenntniss über den richtigen Zeichesatz fehlt.

Liebe Grüße,
Valle

Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat