Hallo,
ich versuche einen String mit Umlaut in eine Textdatei zu schreiben und bekomme leider eine falsche Darstellung des Umlauts.
Mit fwrite wird ein utf-8-codierter String reingeschrieben.
mb_detect_encoding auf diesen String ergibt UTF-8, also habe ich versucht, den String in ISO 8859-1 oder 8859-15 umzuwandeln. Dafür habe ich folgendes versucht:
mb_convert_encoding($string, 'ISO-8859-1');
mb_convert_encoding($string, 'ISO-8859-1', 'UTF-8');
mb_convert_encoding($string, 'ISO-8859-1', mb_detect_encoding($string));
Jedes Mal ergibt danach ein mb_detect_encoding($string); nur UTF-8
Liegt es daran, dass die ISO-Kodierung eine Teilmenge von UTF-8 ist?
Wie bekomme ich die Umlaute korrekt im Text-File dargestellt?
Danke im Voraus für jede Hilfe!
EDIT: mittlerweile habe ich die komplette Konventierung mit mb_convert_encoding entfernt und wenn ich utf8_decode benutze, sehe ich im Log die richtige Ausgabe der Umlaute, in der Textdatei stehen sie aber nach wie vor falsch drin.
ich versuche einen String mit Umlaut in eine Textdatei zu schreiben und bekomme leider eine falsche Darstellung des Umlauts.
Mit fwrite wird ein utf-8-codierter String reingeschrieben.
mb_detect_encoding auf diesen String ergibt UTF-8, also habe ich versucht, den String in ISO 8859-1 oder 8859-15 umzuwandeln. Dafür habe ich folgendes versucht:
mb_convert_encoding($string, 'ISO-8859-1');
mb_convert_encoding($string, 'ISO-8859-1', 'UTF-8');
mb_convert_encoding($string, 'ISO-8859-1', mb_detect_encoding($string));
Jedes Mal ergibt danach ein mb_detect_encoding($string); nur UTF-8
Liegt es daran, dass die ISO-Kodierung eine Teilmenge von UTF-8 ist?
Wie bekomme ich die Umlaute korrekt im Text-File dargestellt?
Danke im Voraus für jede Hilfe!
EDIT: mittlerweile habe ich die komplette Konventierung mit mb_convert_encoding entfernt und wenn ich utf8_decode benutze, sehe ich im Log die richtige Ausgabe der Umlaute, in der Textdatei stehen sie aber nach wie vor falsch drin.
Kommentar