Zeichensatzprobleme

skrobi

Mitglied
Zum Abschluss meines 1. Programmes speichere ich die Elemente einer Tabelle in eine Datei. Die einzelnen Elemente werden durch einen ® = Delimiter voneinander getrennt.
Funktioniert einwandfrei, siehe Ergebnis: 00®01®02®03®04®05®01®28.06.2022®wöchig®

In einem 2. Programm werden die Daten der zuvor erstellten Datei eingelesen und in eine Tabelle für die Weiterverarbeitung übertragen und gespeichert.
Funktioniert einwandfrei, siehe Tabellen-Ergebnis: 00®01®02®03®04®05®01®28.06.2022®wöchig®

In einem 3. Programm werden die Daten der zuvor erstellten Datei eingelesen und in eine Tabelle für die Weiterverarbeitung übertragen und gespeichert.
Funktioniert überhaupt nicht, siehe Tabellen-Ergebnis: 00®01®02®03®04®05®01®28.06.2022®wöchig®

Vor dem Delimiter = ® wird zusätzlich ein weiteres Zeichen = Â eingefügt.
Umlaute z.B. wöchig® werden verändert wöchig® wiedergegeben.

In beiden Fällen werden dieselben Programmanweisungen (wurden kopiert) verwendet. Eigentlich müsste das Ergebnis dasselbe sein.

Frage: Besteht die Möglichkeit in einer Anweisung festzulegen, welcher Zeichensatz verwendet werden soll? Wenn ja, wo und wie?
 

Neumi5694

Top Contributor
Frage: Besteht die Möglichkeit in einer Anweisung festzulegen, welcher Zeichensatz verwendet werden soll? Wenn ja, wo und wie?
Dieses Zeichen erscheint, wenn du Sonderzeichen einer UTF-8 Datei als ANSI einliest (cp1252)
Du kannst sowohl bei OutputStreamWriter und InputStreamReader den Zeichensatz angeben.

Eine Alternative wäre z.B. der FIleWriterWithEncoding von Apache Commons.
 

Neue Themen


Oben