utf-8 Sonderzeichenproblem äöü als ?
Hausmeister
- datenbank
0 Hausmeister0 dedlfix
Hallo,
ich habe ein Sonderzeichenproblem mit MySQL von Strato!
In den Browsern wird die Codierung als Unicode UTF-8 angezeigt und Wörter die in der HTML Seite fest vorgegeben wurden werden auch richtig ausgegeben, mit Ausnahme bei Datenbankergebnisse. Hier werden vorhandene Ä, Ö oder Ü als Fragezeichen dargestellt. Das kuriose ist aber das die DB Ergebnisse im Quelltext richtig angezeigt werden!
Der Content-Type meiner Seite lautet:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Auch W3C erkennt utf-8, sobald aber ein DB Ergebnis veröffentlicht wird was z.B. ein Ä enthält kann W3C das Dokument nicht mehr checken!
MySQL ist in der Kollation auf utf8_unicode_ci eingestellt und die Daten (Texte) werden zurzeit noch Händisch, also direkt in der Benutzeroberfläche von Strato eingetragen.
Hier stehen die äöü einwandfrei drin.
Könnt Ihr mir bitte helfen?
Danke und Gruß!
Habe jetzt mal weiter rumgespielt und herausgefunden dass es mit utf8_encode funktioniert!
<?php
$ausgabeencode[4] = utf8_encode($ausgabe[4]);
echo "$ausgabeencode[4]";
?>
Das kann aber irgendwie nicht die Lösung sein, oder doch?
Hi!
$ausgabeencode[4] = utf8_encode($ausgabe[4]);
echo "$ausgabeencode[4]";
Das kann aber irgendwie nicht die Lösung sein, oder doch?
Nein, aber sie steht für solch einfache Probleme mehrfach im Archiv. Zum einen sind die Anführungszeichen um die Variable beim echo unnütz. Zum anderen fehlt die höchstwahrscheinlich kontextgerechte Behandlung des Ausgabewertes. Und bei deiner Datenbankabfrage hast du sicher wie üblich übersehen, dass für deine Client-Verbindung eine Kodierung auszuhandeln ist (Suchstichwörter: mysql_set_charset() oder SET NAMES).
Lo!
Hi dedlfix,
man kennt doch das Sprichwort,
kleine Kinder = kleine Probleme
große Kinder = große Probleme
;-)
Aber mal im ernst, Sorry das ich euch mit diesem kleine Problem belästigt habe, aber manchmal sieht man den Wald vor Bäumen nicht mehr und weiß nicht mehr weiter! Ich suchte jetzt schon seit Stunden nach einer Lösung und bin etliche Websites durchgegangen aber auf mysql_set_charset() bin ich nicht gestoßen!
Vielen Dank für Deine Hilfe!!!