PHP - UFT8 Fix?

... komplette Frage anzeigen

5 Antworten

Zum einen über die HTML-Zeichenkodierung

<meta charset="UTF-8" />

Via PHP mit utf8_encode

utf8_encode($string);

Die Datenbank sollte auch in UTF-8 ausgerichtet sein.
Weiter gilt auch zu beachten, dass die Datei auch in UTF-8 kodiert ist, sonst kann es zu Fehlern kommen.

Hoffe ich konnte Dir helfen.

Gruß: Holger

Antwort bewerten Vielen Dank für Deine Bewertung

header('Content-Type: text/html; charset=utf-8');

Antwort bewerten Vielen Dank für Deine Bewertung

Die Antwort auf die Frage hängt davon ab wie die Daten in der Datenbank formatiert sind und mit welchen Einstellungen du diese ausliest.

Wenn die Daten in deiner Datenbank im Zeichensatz utf8 gespeichert sind (sprich: Datenbank, Tabelle und alle Spalten haben utf8 als Zeichensatz) dann musst Du die Datenbankverbindung auch mit utf8 als Zeichensatz initialisieren. Siehe dazu:
http://php.net/manual/de/ref.pdo-mysql.connection.php (wenn du nicht PDO nutzt musst Du in dem Handbuch der von dir genutzten PHP-Erweiterung nachschauen, das geht mit jeder)

Damit die dann ausgelesenen utf8-Zeichen im Browser auch korrekt angezeigt werden, musst Du vom Server diesen Zeichensatz an den Browser schicken lassen. Das geht mit PHP z.B. so wie hier beschrieben:
http://www.gerd-riesselmann.net/softwareentwicklung/php-und-utf-8-eine-anleitung-teil-2-webseiten-als-utf-8-ausliefern/
Alternativ dazu kann man den Zeichensatz auch per Apache oder nginx setzen lassen - näheres dazu steht in deren Handbüchern.

Wenn die Daten in deiner Datenbank bisher nicht in utf8 gespeichert sind, solltest Du sie dahingehend umstellen. utf8 ist der am besten geeignetste Zeichensatz im Web.

Antwort bewerten Vielen Dank für Deine Bewertung

Das einzige was du in deinem HTML-Header hinzufügen muss ist das:

<meta charset="UTF-8">

Wenn du es in PHP machen willst kannst du dies hier nachlesen:

http://php.net/manual/de/function.utf8-encode.php

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?