Hallo,
Ich hab da einen Editor mit SAX kombiniert. Also oben XML-Daten schön präsentiert und unten Editor (jtextarea). Wenn ich Refresh drücke soll SAX die Daten vom Editor parsen. Jetzt mein Problem:
Die XML-Daten können Umlaute enthalten...
I. Wenn ich UTF-8 Dateien einlese, zeigt das jtextarea die Umlaute falsch an, aber SAX funktioniert.
II. Wenn ich ISO-8859-2 Dateien einlese, funktioniert das jtextarea, aber SAX macht Probleme.
Ich würde gerne die Eingabe vom jtextarea vor dem Parsen in UTF-8 wandeln und an SAX übergeben. SAX will einen INPUTStream. mmmh was mach ich da? Ich dachte mir ich lese den jtextarea mit .write aus. Aber der will einen Writer und der Writer ein OutputStream und der ... ich möchte aber einen InputStream? mit getText.getBytes gehts aber auch nicht so richt...
Wie kann ich, was irgendwo mit einem OutStream rauskommt, gleich wieder in einen InputStream schieben. Zumal ich ja völlig irritiert bin über diese UTF-8 und ISO-Codierung. Die guten alten ASCII-Zeiten fand ich übersichtlicher...
Kann mir jemand aus diesem Kladeradatsch helfen?
Clemens
Hier noch ein paar CodeSchnipsel:
Ich hab da einen Editor mit SAX kombiniert. Also oben XML-Daten schön präsentiert und unten Editor (jtextarea). Wenn ich Refresh drücke soll SAX die Daten vom Editor parsen. Jetzt mein Problem:
Die XML-Daten können Umlaute enthalten...
I. Wenn ich UTF-8 Dateien einlese, zeigt das jtextarea die Umlaute falsch an, aber SAX funktioniert.
II. Wenn ich ISO-8859-2 Dateien einlese, funktioniert das jtextarea, aber SAX macht Probleme.
Ich würde gerne die Eingabe vom jtextarea vor dem Parsen in UTF-8 wandeln und an SAX übergeben. SAX will einen INPUTStream. mmmh was mach ich da? Ich dachte mir ich lese den jtextarea mit .write aus. Aber der will einen Writer und der Writer ein OutputStream und der ... ich möchte aber einen InputStream? mit getText.getBytes gehts aber auch nicht so richt...
Wie kann ich, was irgendwo mit einem OutStream rauskommt, gleich wieder in einen InputStream schieben. Zumal ich ja völlig irritiert bin über diese UTF-8 und ISO-Codierung. Die guten alten ASCII-Zeiten fand ich übersichtlicher...
Kann mir jemand aus diesem Kladeradatsch helfen?
Clemens
Hier noch ein paar CodeSchnipsel:
Code:
// Öffnen der Datei:
// zuladende Datei
this.currentFile = chooser.getSelectedFile();
// InputStream erzeugen
fis = new FileInputStream(this.currentFile) ;
// mittels des Readers kann ich die Zeichensätze ausprobieren...
InputStreamReader isr = new InputStreamReader(fis, "ISO-8859-2") ;
// Inhalt in die jTextArea
editor.read(isr, null);
// Path an den Parser geben
parser.open(this.currentFile.getCanonicalPath() );
Code:
// Refresh versuche jtextarea -> Parser zu geben...
// zZ so: - dabei wird aber nicht in UTF-8 gewandet sondern in ISO-8859-2 gelassen.
this.formular.open(new BufferedInputStream(new ByteArrayInputStream( editor.getText().getBytes()) ));