115122
Goto Top

Android Programmierung Problem mit Codierung von Umlauten

Hallo,

folgendes Problem:
Es gibt eine Textdatei, in welcher z.B. folgender String steht: "monatliche Prüfungen". Die App bezieht bestimmte Angaben aus der Textdatei und stellt diese in einer GUI Maske dar. Hier wird dann folgendes angezeigt: "monatliche Pr?fungen" (in der App als Viereck mit Fragezeichen dargestellt).

Schreibe ich nun händisch in der App ein "ü" rein und speichere die Angaben, wird das Ü hinterher sauber angezeigt. Als Codierung ist UTF-8 eingestellt. Die Textdatei wird von einer Datenbank am Clientrechner erstellt, falls das hilft.

Kann mir hier jemand weiterhelfen?

Grüße,
lordzwieback

Content-Key: 315054

Url: https://administrator.de/contentid/315054

Printed on: April 19, 2024 at 08:04 o'clock

Member: Pjordorf
Pjordorf Sep 12, 2016 at 09:00:22 (UTC)
Goto Top
Hallo,

Zitat von @115122:
Kann mir hier jemand weiterhelfen?
Wenn du händisch am Clientrechner eine Textdatei mit UTF-8 Codierung erstellst, wird diese dann korrekt auf deine Androids dargestellt? Ja - dann lass die Datenbank die Textdateie mit der richtigen Codierung erstellen.

Gruß,
Peter
Member: H41mSh1C0R
H41mSh1C0R Sep 12, 2016 at 09:03:06 (UTC)
Goto Top
Hi,

also in meiner Glaskugel ist grad nur Nebel. =)

Ohne einen Blick wie die in deinen Sourcen liest/schreibst ist das alles nur Raten!

VG
Mitglied: 115122
115122 Sep 12, 2016 at 09:15:20 (UTC)
Goto Top
Das werde ich mal testen, danke für den Hinweis.
Mitglied: 115122
115122 Sep 12, 2016 at 09:17:10 (UTC)
Goto Top
Das File wird mittels BufferedReader eingelesen.

BufferedReader br = new BufferedReader(new FileReader(programFolder + "/" + file));  

Falls das nicht das war, was du wissen wolltest kurze Info an mich, dann such ich das raus, was du brauchst. face-smile
Member: H41mSh1C0R
Solution H41mSh1C0R Sep 12, 2016 at 09:28:15 (UTC)
Goto Top
Statt den FileReader benutze den InputStreamReader.

Als Parameter gibst du dann den FileInputStream(Path) und das UTF-8 mit.

Gruß
Member: Pjordorf
Solution Pjordorf Sep 12, 2016 at 09:28:23 (UTC)
Goto Top
Hallo,

Zitat von @115122:
Falls das nicht das war, was du wissen wolltest kurze Info an mich, dann such ich das raus, was du brauchst. face-smile
Und welcher Zeichensatz (Codierung) wird verwendet?
http://stackoverflow.com/questions/132318/how-do-i-correct-the-characte ...
http://de.androids.help/q29696 siehe Antwort 2

Gruß,
Peter
Mitglied: 115122
115122 Sep 12, 2016 at 12:01:49 (UTC)
Goto Top
Konnte es anhand deineszweiten Links und etwas "herumprobieren" lösen. Folgende Codezeile ersetzt die oben gepostete:

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(programFolder + "/" + file),StandardCharsets.ISO_8859_1));  

Mit UTF-8 bekam ich das gleiche Ergebnis, da war ich wohl aufm Holzweg. Danach ISO_8859_1 getestet und das geht tadellos.

Falls ihr zur Lösung keine Bemerkungen/Verbesserungen/Tipps habt, gebe ich den Thread gleich als gelöst an.

Vielen Dank für die Hilfe.