07-01-2023, 10:50
Der Huddel mit den Zeichensätzen ist nicht immer einfach zu bewerkstelligen.
Ein Datenbankeintrag in meiner lokalen Umgebung sieht wie folgt aus:
Auf meinem Webspace sieht er aber so aus:
Nach meiner bisherigen Recherche ist hier eine Vermischung von einem ISO-8859-1-Zeichen in einer UTF-8-Umgebung für die Darstellung verantwortlich.
Folgende Erklärung habe ich hier gefunden:
Eine Lösung habe ich insofern gefunden, als das oftmals ein Zeichensatz falsch deklariert wird. Bedeutet, es gibt Verwechslungen zwischen windows-1252 und ISO-8859-1.
Die Lösung meines Problems war folgende Zeile im PHP-Script:
Beide Varianten funktionieren und konvertieren den scheinbar nicht in UTF-8 vorliegenden Text korrekt um.
Gefunden habe ich die Lösung hier:
PHP: Problems converting "’" character from ISO-8859-1 to UTF-8
Ein Datenbankeintrag in meiner lokalen Umgebung sieht wie folgt aus:
Zitat:I'm
Auf meinem Webspace sieht er aber so aus:
Zitat:I�m
Nach meiner bisherigen Recherche ist hier eine Vermischung von einem ISO-8859-1-Zeichen in einer UTF-8-Umgebung für die Darstellung verantwortlich.
Folgende Erklärung habe ich hier gefunden:
Zitat:Ein Beispiel für das Wort _Höhe_:
UTF-8-Text in ISO-8859-1/9/13-16-Umgebung
_Höhe_ → _Höhe_.
ISO-8859-1-Text in UTF-8-Umgebung
_Höhe_ → _H_�_he_ bzw. Fehlermeldung mit Abbruch. Ein Byte mit dem Hexadezimalwert _F6_ ist in UTF-8 nicht zulässig. Es ist üblich, für nicht konvertierbare Zeichen das [url=https://de.wikipedia.org/wiki/Ersetzungszeichen "Ersetzungszeichen"]Ersetzungszeiche[/url]n (U+FFFD) einzufügen.
Eine Lösung habe ich insofern gefunden, als das oftmals ein Zeichensatz falsch deklariert wird. Bedeutet, es gibt Verwechslungen zwischen windows-1252 und ISO-8859-1.
Die Lösung meines Problems war folgende Zeile im PHP-Script:
PHP-Code:
<?php
//$mailtext_neu = mb_convert_encoding($mailtext_neu, "UTF-8", "windows-1252");
$mailtext_neu = iconv('windows-1252', 'UTF-8', $mailtext_neu);
?>
Beide Varianten funktionieren und konvertieren den scheinbar nicht in UTF-8 vorliegenden Text korrekt um.
Gefunden habe ich die Lösung hier:
PHP: Problems converting "’" character from ISO-8859-1 to UTF-8