PHP, MySQL und UTF-8
Volker
- php
Hallo zusammen,
ich habe ein Problem bei der Umstellung meiner Website und Datenbanken von ISO-8859-1 auf UTF-8.
Die Datenbankinhalte habe ich per PHP-Funktion utf8_encode(...) kodiert, alle entsprechenden MySQL-Zellen haben als Kollation utf8_unicode_ci und die Kollation der MySQL-Verbindung steht in phpMyAdmin ebenfalls auf utf8_unicode_ci.
In der per PHP generierten HTML-Datei steht im Header
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
aber trotzdem werden ä,ö, und ü im Browser nicht korrekt angezeigt.
Was habe ich übersehen?
Danke im Voraus für Hilfe.
Gruß, Volker
Hi Volker!
Was habe ich übersehen?
Die Contentheader und die Kodierung der Dateien.
MfG H☼psel
Die Contentheader und die Kodierung der Dateien.
Meinst du mit der Codierung der Dateien die jeweiligen PHP-Dateien? Die sind von eclipse ebenfalls im UTF-8 - Format abgespeichert worden.
Was genau meinst du mit Contentheader?
Gruß, Volker
header('Content-type: text/html; charset=utf-8');
Das da vermute ich.
Grüße.
header('Content-type: text/html; charset=utf-8');
Hm, der Sinn davon wird mir zwar nicht ganz klar, aber davon abgesehen bringt das keine Änderung ;-).
Gruß, Volker
Hi,
darueber kannst du in funpic.de forum lesen, vielleicht Hilft:
http://www.funpic.de/forum/webhosting/ltopic,46798,0,asc,0,cae9b5947a948ca3f8c8b56493b2faac.html
LG,
Inita
echo $begrüßung;
die Kollation der MySQL-Verbindung steht in phpMyAdmin ebenfalls auf utf8_unicode_ci.
Das ist die Einstellung, die sich der PMA für seine Verbindungen gesetzt hat. Für deine eigenen Verbindungen gilt diese nicht. Wenn du nicht explizit eine mit SET NAMES ... (oder mit der entsprechenden mysqli-Funktion, falls du mysqli verwendest) angibst, gilt die Default-Einstellung des Servers. Diese ist in den Systemvariablen zu finden, die dir der PMA anzeigen kann. Falls da eine zweite Zeile mit "(Globaler Wert)" steht, gilt diese, die erste ist dann die Einstellung, die sich der PMA für seine Verbindungen eingestellt hat.
echo "$verabschiedung $name";
Falls da eine zweite Zeile mit "(Globaler Wert)" steht, gilt diese, die erste ist dann die Einstellung, die sich der PMA für seine Verbindungen eingestellt hat.
Tatsache, das scheint das Problem zu sein.
Danke.
Gruß, Volker