PHP UTF-8 Umlaute

 

Bei Problemen mit den Umlauten in PHP, liegt das meist an einer falschen Zeichenkodierung.

Bei Angabe von UTF-8 und einer Zeichenkodierung von ISO 8859-1 oder windows-1252 kodiert (also als ISO 8859-1 oder windows-1252 abgespeichert), wird als Beispiel ïżœ anstelle von Ă€ ö ĂŒ angezeigt.

Bei Angabe von ISO 8859-1 oder windows-1252, werden die Umlaute bei Verwendung von UTF-8 als À ö ĂƒÂŒ oder so Ă€hnlich ausgegeben.

Wichtig ist dabei, wie die Daten gespeichert werden. Ob die Datenbank oder bei Textdateien die Datei richtig kodiert ist.

Bei Verwendung von Textdateien sollten zusÀtzlich zum richtigen Format: UTF-8, in PHP der richtige Header verwendet werden:

<?php
header('Content-Type: text/html; charset=UTF-8');
?>

Alternativ kann die Kodierung in der .htaccess Datei angegeben werden: AddDefaultCharset UTF-8.

UTF-8 testen

Bei falsch angelegten Dateien (falsche Kodierung) oder falsch abgespeicherten DatenbankeintrÀgen können die Werte wie folgt getestet werden:

Um einen String in PHP auf UTF-8 zu testen, kann folgende Funktion verwendet werden:

function is_utf8($str) {
    return (bool) preg_match('//u', $str);
}

Sollte ein String nicht in UTF-8 sein, kann dieser in UTF-8 umgewandelt werden:

if (!is_utf8($string))$string=utf8_encode($string);
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE fĂŒr deine Bewertung!

Veröffentlichung: 06.05.2020 von Bernhard |🔔 | Kommentare:0

➚ MĂ€hroboter-Steuerung Smartplug | ➊ PHP

Fragen / Kommentare


Inhaltsverzeichnis