Raketenwilli: Sonder- wie Satzzeichen werden deformiert dargestellt

Beitrag lesen

Wenn ich Links mit PHP auslese, bekomme ich statt der deutschen Sonderzeichen oder Satzzeichen Stoßgeburten wie ö oder ä

Alle Zeichen außerhalb des ASCII-Bereichs (also Codepoints oberhalb von U+007F) werden in UTF-8 mit zwei oder mehr Bytes codiert. Gibt man das ohne Umschweife in einem Kontext aus, bei dem der Browser (oder der Bediener) kein UTF-8 erwartet, werden diese zwei oder mehr Bytes als einzelne Zeichen interpretiert und angezeigt.

Gibt man das ohne Umschweife in einem Kontext aus, bei dem dem eine Software kein UTF-8 erwartet oder in dem eine PHP-Funktion dieses nicht korrekt verarbeit, werden diese zwei oder mehr Bytes als einzelne Zeichen interpretiert und angezeigt.

@@Heiko:

Entweder wird die von die gesehene Webseite aus $Gründen als eine solche in einer anderen Kodierung erkannt oder etwas wie das hier

$element->getAttribute("title")

geht schief.

Das ist ja offensichtlich eine Methode eines Objektes. Ist es diese hier? Dann lese auch hier nach. und, falls Du DOMDocument::loadHTML benutzt, auch dort.

Lass uns nicht soviel herumraten, was Du tust, zeige den kompletten Weg der Daten von der Quelle (die wir sehen müssen, weil diese schon falsche Informationen enthalten kann.) über das Abholen (und die Erzeugung des Objektes, wenn es eine eigene Klasse ist, dann diese) und jeden Verarbeitungsschritt bis hin zur Anzeige, welche Du uns bitte auch beschreiben möchtest, denn es gibt nicht nur den Browser…

Ansonsten musst selbst diese Schritte einzeln überprüfen. Niemand hat gesagt, dass das Debuggen logischer Fehler leicht und einfach sei.