PHP / UTF-8 / Postgresql
Mathias
- php
1 wahsaga0 Sven Rautenberg0 Mathias
Als Datenbank verwende ich Postrgesql 8.14, Kodierung ist UTF-8.
Sonderzeichen (ä ü ö), die aus der Datenbank kommen, werden richtig dargestellt.
Meine HTML Seite gibt das meta-tag mit der Kodierung wieder:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Daten aus der Datenbank werden richtig dargestellt.
Zeichenketten, die in der PHP Seite direkt stehen werden nicht richtig dargestellt,
"löschen" wird als l?schen ausgegen.
Mit der Funktion mb_convert_encoding('löschen', 'UTF-8');
wird löschen wieder richtig dargestellt.
In der PHP-INI habe ich die Direktive
default_charset = "UTF-8"
gesetzt.
Weiß vielleicht jemand, was ich anstellen muss, damit Zeichenketten aus der Datenbank und Zeichenketten die in der PHP Seite stehen und mit echo ausgegeben werden, richtig dargestellt werden?
Mit den mbstring Optionen habe ich einiges ausprobiert, entweder wurde dann aber der Datenbank Inhalt nicht mehr richtig wiedergegeben , oder der Inhalt der PHP Seite.
Danke & Gruß,
Mathias
hi,
Zeichenketten, die in der PHP Seite direkt stehen werden nicht richtig dargestellt, "löschen" wird als l?schen ausgegen.
Weiß vielleicht jemand, was ich anstellen muss, damit Zeichenketten aus der Datenbank und Zeichenketten die in der PHP Seite stehen und mit echo ausgegeben werden, richtig dargestellt werden?
Du möchtest dein PHP-Script als UTF-8 abspeichern.
gruß,
wahsaga
Du möchtest dein PHP-Script als UTF-8 abspeichern.
Wie mache ich das? Einstellung im Editor, oder was meinst Du?
Danke & Gruß,
Mathias
ok, speichern im richtigen Format, irgendwie logisch.
danke.
Moin!
Meine HTML Seite gibt das meta-tag mit der Kodierung wieder:
Das reicht unter Umständen nicht aus, entscheidend ist immer, was der Server im HTTP-Header sagt!
Mit PHP passende Header setzen geht ja aber.
Daten aus der Datenbank werden richtig dargestellt.
Zeichenketten, die in der PHP Seite direkt stehen werden nicht richtig dargestellt,
"löschen" wird als l?schen ausgegen.
Mit der Funktion mb_convert_encoding('löschen', 'UTF-8');
wird löschen wieder richtig dargestellt.
Hast du dein Skript UTF-8-codiert abgespeichert?
- Sven Rautenberg
Moin!
Meine HTML Seite gibt das meta-tag mit der Kodierung wieder:
Das reicht unter Umständen nicht aus, entscheidend ist immer, was der Server im HTTP-Header sagt!
Mit PHP passende Header setzen geht ja aber.
Kurze Frage, was wäre der richtige Header?
Daten aus der Datenbank werden richtig dargestellt.
Zeichenketten, die in der PHP Seite direkt stehen werden nicht richtig dargestellt,
"löschen" wird als l?schen ausgegen.
Mit der Funktion mb_convert_encoding('löschen', 'UTF-8');
wird löschen wieder richtig dargestellt.Hast du dein Skript UTF-8-codiert abgespeichert?
Nein, wahsaga hat die gleiche Frage gepostet, ich nehme an, der Editor sollte dass machen, können, eingestellt werden?
- Sven Rautenberg
Danke & Gruß,
Mathias
ok, speichern im richtigen Format, irgendwie logisch.
danke.
Moin!
Meine HTML Seite gibt das meta-tag mit der Kodierung wieder:
Das reicht unter Umständen nicht aus, entscheidend ist immer, was der Server im HTTP-Header sagt!
Mit PHP passende Header setzen geht ja aber.
Kurze Frage, was wäre der richtige Header?
Im Prinzip der, den du mit deinem Meta-Tag zu simulieren versuchst - aber der gilt eben nur, wenn HTTP dazu nichts aussagt - im Zweifel eben genau dann nicht, wenn alles schief läuft.
- Sven Rautenberg