#1 5. Juni 2011 Eurozeichen falsch dargestellt Hi, folgendes Problem: Der Text ist in iso-8859-1 und wird per API geladen. Die Seite ist in utf-8. Alle Zeichen wie äöüß sind gar kein Problem, nur werden die € Zeichen im Chrome gar nicht angezeigt und im IE/FF ein komisches Zeichen angezeigt. Da es ja in iso-8859-1 eigentlich nicht existiert. Hatte jemand schon mal so ein Problem und weiß wie ich das lösen kann? Grüße Davy + Multi-Zitat Zitieren
#3 5. Juni 2011 AW: Eurozeichen falsch dargestellt Weder de- noch encode brachte was. Das einzige Resultat war dann, das alle Sonderzeichen falsch dargestellt worden sind. + Multi-Zitat Zitieren
#4 5. Juni 2011 AW: Eurozeichen falsch dargestellt es stimmt, das euro zeichen ist laut definition nicht im iso-8859-1 zeichensatz vorhanden, wurde aber von vielen softwareherstellern einfach an position 128 hinzugefügt und kann daher auch verwendet werden. das blöde daran ist, dass dieses zeichen nicht im standard zu finden ist und daher auch fehlerhaft konvertiert wird. die lösung: such nach bzw. & #128; und ändere es in & #164 (ohne leerzeichen) - danach kannst du den string als iso-8859-15 behandeln und ohne probleme nach utf8 konvertieren. mb_convert_encoding() ist hierbei dein freund. + Multi-Zitat Zitieren
#5 5. Juni 2011 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: Eurozeichen falsch dargestellt mb_convert_encoding() Das hat ich auch versucht, aber irgendwie komm ich damit nicht zu recht. Naja, hab es jetzt irgendwie billig hinbekommen - wahrscheinlich wirst dir da erst mal an Kopf greifen Ich hab auch versucht nach den Strings von dir zu suchen, aber weder das eine noch das andere hat er mir dann ersetzt. Dann kam ich auf die Idee ich kopiers Zeichen einfach aus FF raus .. naja, es geht jedenfalls. + Multi-Zitat Zitieren
#6 5. Juni 2011 AW: Eurozeichen falsch dargestellt PHP: <? phpheader ( 'Content-Type: text/plain; Charset=UTF-8' ); $str = 'hallo welt äöüß ' ; $str = str_replace ( chr ( 128 ), chr ( 164 ), $str ); $str = mb_convert_encoding ( $str , 'UTF-8' , 'ISO-8859-15' ); print $str ; + Multi-Zitat Zitieren
#7 5. Juni 2011 AW: Eurozeichen falsch dargestellt Wenn das €-Zeichen dem Dezimalwert 128 zugeordnet ist, dann handelt es sich wahrscheinlich um CP1252 (Windows-1252). PHP: $str = mb_convert_encoding ( $str , 'UTF-8' , 'Windows-1252' , 'ISO-8859-15' ); + Multi-Zitat Zitieren