Umlaute in Datei ändern

Pluto

Mitglied
Hallo,

bin neu und unerfahren: habe leider zum Thema Umlaute nichts passendes gefunden:

Aufgabe ist es, Umlaute in einer html-Datei in diese Quoten(?) zu ändern. Leider scheiterts bei mir schon beim korrekten Einlesen der Datei. Die Änderung eines normalen Zeichens mit String.replaceAll() funktioniert wie geschmiert. Eine Änderung eines Umlautes scheitert daran, dass replaceAll das Zeichen nicht erkennt. In der Eclipse-Konsole erscheinen Rauten mit Fragezeichen selbst nach Versuch der Substitution.

Ein im Programmtext definierter String (String s = new String("aaäA")😉 funktionktioniert auch gut.

Ich habe schon mit
String ISOString = new String(strw.getBytes("ISO-8859-1"), "UTF-8");
in allen denkbaren Varianten versucht, das Problem zu lösen.

An welcher Schraube ist zu drehen?


Viele Grüße
Pluto
 
Hallo,


es handelt sich um eine HTML-Übungsdatei, die anscheinend von einem Windows-Server kommt. Ich lese die lokal abgespeicherte Datei mit
Java:
			FileInputStream fis = new FileInputStream(file);
			InputStreamReader isr = new InputStreamReader(fis);
			BufferedReader br = new BufferedReader(isr);
ein.

Wenn ich eine Datei lokal erstelle und sie in UTF-8 speichere klappt es gut. (OpenSuSE)


Pluto
 
Hallo,

also das Folgende mit der lokal abgespeicherten Datei:
Java:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class UmlautWandeln {


	public static void main(String[] args) {
		String file = new String("testDatei.txt");
		//String file = new String("datei1702_vor.html");
		String s = new String();
	
		try {
			FileInputStream fis = new FileInputStream(file);
			InputStreamReader isr = new InputStreamReader(fis);
			BufferedReader br = new BufferedReader(isr);
			
			while (true) {
				s = br.readLine();
				if (s == null)
					break;
				s = s.replaceAll("[ä]", "xxx");
				System.out.println(s);
			}
			
		} catch(IOException e){}
	}

}

Übungdatei (unten Teil vom Original):
Java:
aaäa
oöo

<OL>
        <LI>Verlassen Sie das Internet immer so, wie Sie es vorzufinden
        w�nschen.<BR><BR>

        <LI>Die Haltung von Computerviren in der Wohnung ist
        genehmigungspflichtig.<BR><BR>


        <LI>Der Herr h�lt der Dame die Webseite auf und hilft ihr in die
        angeh�ngte Datei.<BR><BR>

Bei mir werden Rauten mit Fragezeichen für die Umlaute dargestellt. Kommt man da nicht mit
String ISOString = new String(strw.getBytes("ISO-8859-1"), "UTF-8");
heran?

Gruß
 
verwend doch einfach einmal diese Zeile

Code:
isr = new InputStreamReader(fis, "WINDOWS-1252");[/c]

bzw

[code]isr = new InputStreamReader(fis, "WINDOWS-1250");[/c]
 

Zurück
Oben