Mein PHP zeigt � an, wenn ich ß ä ü oder ö vor kommt?

... komplette Frage anzeigen

4 Antworten

Das heißt das du ein falsches Charset verwendest. Ich wurde im Standart immer UTF8 verwenden.

if (!mb_detect_encoding($array, 'utf-8', true))
return utf8_encode($array);

Mit der Funktion kannst du Prüfen ob ein String UTF8 ist, wenn nicht dann encodet er in UTF8. Wichtig ist das das Charset der Seite im Header auch UTF8 ist -> siehe Antwort von triopasi

Sollten deine Werte aus einer Datenbank kommen, kannst du meistens UTF8 erzwingen. Beispiel bei PDO

$pdo = new PDO($dsn, $username, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
Antwort bewerten Vielen Dank für Deine Bewertung

Hast du die Umlaute genauso geschrieben (also ö,ü,ä) oder hast du die HTML Schreibweise verwendet (ö ü ä)?
Weil wenn du die Umlaute ohne HTML Schreibweise schreibst kann bei manchen Browsern diese Fragezeichen erscheinen

Antwort bewerten Vielen Dank für Deine Bewertung

Siehe triopasis Antwort!

Ansonsten HTML-Entities verwenden aber triopasis Antwort ist der zu bevorzugende Weg.

Antwort bewerten Vielen Dank für Deine Bewertung

Falsches Charset. Nutze z.B.

<meta charset="UTF-8">
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?