Problem mit deutschen Umlauten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angabe
code
darstellung
datenbank
deutschen umlaute
dokument
editor
einstellen
folgendes problem
forum
header
kleinigkeit
problem
setzen
tag
text
type
vorredner
zeichensatz
zeile
-
Hallo,
habe tag/folgendes problem">folgendes Problem. In meinem Forum werden keine deutschen Umlaute angezeigt (ä,ü,ö,ß).
Dies bemerkte ich durch den import meiner sprachdatei (vB). Hab im netz bissel rumgesucht und gelesen das es an der Datenbank liegen könnte.
Ich hoff ihr könnt mir helfen. Falls es hilft. Es ist ein vB4.xx Forum. Danke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Werden sie einfach gar nicht angezeigt, oder werden an ihrer Stelle merkwürdige Zeichen angezeigt? Setze in einer Datei, die immer aufgerufen wird (sofern keine Hauptdatei vorhanden ist) mal
ganz oben gleich als nächste Zeile nachheader('Content-Type: text/html; charset=utf-8');
, rufe deine Seite auf und drücke Strg+Shift+R.<?php
-
genau wie vorher. oder sorgst dafür schon im html-code selbst mit der passenden meta-angabe:
dann musst du nie wieder in deine seiten schmarrn wie 'ß' und so weiter schreiben.<?php $content = 'äöüÄÖÜß -- aber auch andere dinge: © ䷀ ∳ ∴'; echo <<< EOT <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>de umlaut</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div style="font-size:3em;"> $content </div> </body> </html> EOT;
lg -
Meine beiden Vorredner haben beide recht, allerdings müssen alle Komponenten auf diesen Zeichensatz eingestellt werden, da es sonst zu Problemen kommen kann.
Im Editor müssen alle Dokumente in UTF-8 codiert und gespeichert werden.
Die erste Zeile im PHP-Code sollte folgende sein:
header("Content-Type: text/html; charset=utf-8");
Damit stellt man sicher, dass der Server im Zeichensatz utf-8 antwortet.
Im HTML selbst muss man folgenden META-Tag setzen:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Mit dieser Zeile sagt man dem Browser, welches Charset er für die Darstellung der Seite verwenden soll.
Zu guter Letzt muss man bei der MySql-Datenbank die "collation" auf "utf8_general_ci" einstellen. Es gibt noch weiter utf8-Collationen, die allerdings nur Unterschiede in der Anordnung der Buchstaben und somit der Indexbildung haben. Aber das sind dann nur Kleinigkeiten.
Wenn man das alles beachtet hat man keinerlei Probleme mit dem Zeichensatz. =)
Beitrag zuletzt geändert: 9.6.2011 11:17:18 von redcap88 -
Wichtig ist auch, dass die Verbindung zur DB den gleichen Zeichensatz benutzt.
Das kannst du mit:
mysql_set_charset('utf8');
einstellen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage