Zeichensatzproblem
Eric Teubert
- datenbank
0 King^Lully0 dedlfix
Hallo,
ich bin gerade dabei, meine Scripts (PHP) auf UTF-8 umzustellen. Meine Datenbank, die bisher auf latin1_general_ci lief, habe ich auch auf utf8_unicode_ci umgestellt (MySQL - 5.0.24a-community)
Jetzt das Problem: Zwar stehen in der Datenbank noch immer die richtigen Zeichen, aber im Script Fragezeichen anstatt der Datenbankumlaute.
Wie sieht das Script aus:
Im HTML-Head:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
Im PHP-Teil:
header('content-type: text/html; charset=utf-8');
File Encoding der Dateien habe ich per Editor auf UTF-8 gestellt
Was fehlt, was muss ich noch ändern, damit die Zeichenketten richtig ausgelesen/dargestellt werden?
Grüße
Eric
Was passiert, wenn Du den Browser explizit anweist die Daten als UTF-8 zu interpretieren?
Was passiert, wenn Du den Browser explizit anweist die Daten als UTF-8 zu interpretieren?
Nichts, es bleibt bei den Fragezeichen.
Ehrlichgesagt hätte mir das als "Lösung" auch kaum genügt, ich kann ja schlecht jeden User bitten, seinen Browser bitteschön auf UTF-8 umzustellen :P
Grüße
Eric
Was passiert, wenn Du den Browser explizit anweist die Daten als UTF-8 zu interpretieren?
Nichts, es bleibt bei den Fragezeichen.
Ehrlichgesagt hätte mir das als "Lösung" auch kaum genügt, ich kann ja schlecht jeden User bitten, seinen Browser bitteschön auf UTF-8 umzustellen :P
Das war kein Lösungsversuch, sondern eine Problemisolierung. Sei Dir nun sicher, dass Deine Daten nicht in UTF8 vorliegen.
Das war kein Lösungsversuch, sondern eine Problemisolierung. Sei Dir nun sicher, dass Deine Daten nicht in UTF8 vorliegen.
Okay .. heißt, in der Datenbank ist nicht drin, was draufsteht, also zumindest kein UTF8.
War es denn falsch, einfach die Kollation von Datenbank, Tabelle und Spalte auf utf8_unicode_ci zu stellen ( oder wäre utf8_bin sinnvoller? ) oder mache ich es mir damit zu leicht?
Denn wie gesagt, in der DB selbst sieht alles so aus, wie es sein soll, erst beim Auslesen entstehen die Fehler.
Grüße
Eric
echo $begrüßung;
Zwar stehen in der Datenbank noch immer die richtigen Zeichen, aber im Script Fragezeichen anstatt der Datenbankumlaute.
Was fehlt, was muss ich noch ändern, damit die Zeichenketten richtig ausgelesen/dargestellt werden?
Die Lektüre des MySQL-Handbuchkapitels Character Set Support. Die Lösung steht sogar schon auf der Kapitelübersichtsseite.
echo "$verabschiedung $name";
Die Lektüre des MySQL-Handbuchkapitels Character Set Support. Die Lösung steht sogar schon auf der Kapitelübersichtsseite.
Huch, na das ist mir ja jetzt fast peinlich ...
Danke für die Lösung, funktioniert wunderbar :)
Grüße
Eric
Huch, na das ist mir ja jetzt fast peinlich ...
Danke für die Lösung, funktioniert wunderbar :)
Ist nur eine Kleinigkeit, aber es gab natürlich die zwei Möglichkeiten:
Da böte sich - wie eigentlich fast immer - eine rechtzeitige von Dir selbst vorzunehmende Problemisolierung an.
Lully