Hi. Ich möchte meine in der DB gespeicherten Texte mittels PHP ausgeben. Meine HTML-Datei sieht so aus:
<!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="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="de" />
...
Meine DB hat folgende Einstellungen:
Language: German (de-utf-8)
MySQL-Zeichensatz: UTF-8 Unicode (utf8)
Zeichensatz / Kollation der MySQL-Verbindung: utf8_general_ci
DB Kollation: utf8_unicode_ci
Jetzt dachte ich, wenn das alles auf UTF8 ist, müßte ich mich nicht um die Sonderzeichen kümmern? Trotzdem zeigt der mir im Browser nur Müll bei den Umlauten an. Was geht da schief? htmlentities möchte ich nicht nutzen, weil Sonderzeichen wie < und > so erhalten bleiben sollen. Wenn ich alles durch utf8_encode jage klappts. Also muss da schon irgend etwas falsches von der DB kommen. Nur warum?
<!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="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="de" />
...
Meine DB hat folgende Einstellungen:
Language: German (de-utf-8)
MySQL-Zeichensatz: UTF-8 Unicode (utf8)
Zeichensatz / Kollation der MySQL-Verbindung: utf8_general_ci
DB Kollation: utf8_unicode_ci
Jetzt dachte ich, wenn das alles auf UTF8 ist, müßte ich mich nicht um die Sonderzeichen kümmern? Trotzdem zeigt der mir im Browser nur Müll bei den Umlauten an. Was geht da schief? htmlentities möchte ich nicht nutzen, weil Sonderzeichen wie < und > so erhalten bleiben sollen. Wenn ich alles durch utf8_encode jage klappts. Also muss da schon irgend etwas falsches von der DB kommen. Nur warum?
Kommentar