Hallo,
ich habe eine Textdatei, die im ANSI Zeichensatz gespeichert ist. Das Auslesen an sich ist erstmal nicht das Problem, es erfolgt mit Gio::DataInputStream. Da std::string und Glib::ustring mit UTF-8 arbeiten, werden zum Beispiel die deutschen Umlaute bei Ausgaben falsch dargestellt. Gibt es eine Funktion zum Umwandeln von einen string mit ANSI Zeichen in einen string mit UTF-8? Oder kann man das beim auslesen der Datei irgendwie gleich einstellen oder umwandeln?
[erledigt] ANSI Textdatei auslesen und in UTF-8 umwandeln...
[erledigt] ANSI Textdatei auslesen und in UTF-8 umwandeln...
Zuletzt geändert von GeoW am 27.02.2012 20:52:14, insgesamt 1-mal geändert.
Re: ANSI Textdatei auslesen und in UTF-8 umwandeln (Gtkmm/Gi
Der ANSI Zeichensatz ist doch iso-8859-1?
Probiers mal so
Probiers mal so
Code: Alles auswählen
iconv -f ISO_8859-1 -t UTF-8 "deineDatei" -o "deineDatei_UTF8"
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: ANSI Textdatei auslesen und in UTF-8 umwandeln (Gtkmm/Gi
Eigentlich wollte ich die Datei nicht umwandeln, sondern auslesen, und hatte gehofft, dann den string mit ANSI nach einen string mit UTF-8 umzuwandeln. Also dachte da gibt es irgendeine Funktion oder so in Gtkmm/Glib/Gio oder C++. Aber die Idee mit der Dateiumwandlung ist eigentlich auch nicht so schlecht. Ich könnte sie ja einfach in eine temporäre Datei umwandeln, auslesen und wieder löschen.
Re: ANSI Textdatei auslesen und in UTF-8 umwandeln (Gtkmm/Gi
Du musst das auch nicht speichern, ohne "-o ..." erfolgt die Ausgabe direkt auf der Konsole,
du kannst den Stream dann direkt weiterverarbeiten oder auch als Variable nutzen, zB
du kannst den Stream dann direkt weiterverarbeiten oder auch als Variable nutzen, zB
Code: Alles auswählen
Ausgabe=$(iconv -f ISO_8859-1 -t UTF-8 "deineDatei")
echo $Ausgabe
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: ANSI Textdatei auslesen und in UTF-8 umwandeln (Gtkmm/Gi
Aus C++ heraus müßte ich das ja mit system("iconv ...") aufrufen. Da bekomme ich ja so wie ich das sehe eine int-Wert zurück oder kann ich mir da auch irgendwie den stream bekommen?
Re: ANSI Textdatei auslesen und in UTF-8 umwandeln (Gtkmm/Gi
...und schon bin ich wieder draußen, da keine Ahnung von C++
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: ANSI Textdatei auslesen und in UTF-8 umwandeln (Gtkmm/Gi
Ich habe es wie oben beschrieben gemacht. Da es ja leider keine Funktion für std::string oder Gilb::ustring zugeben scheint, finde ich diese Lösung sehr einfach.
Danke für die Hinweise.
Danke für die Hinweise.