Ich habe eine Unicode (UTF-8 ohne BOM) Textdatei in einem Jar, das als Ressource geladen ist.Unicode in Jar Ressourcen
URL resource = MyClass.class.getResource("datafile.csv");
InputStream stream = resource.openStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(stream, Charset.forName("UTF-8")));
Dies funktioniert gut unter Windows, aber unter Linux scheint es nicht die Datei richtig zu lesen - akzentuierte Zeichen kommen gebrochen. Ich bin mir bewusst, dass verschiedene Maschinen verschiedene Standard-Zeichensatz haben können, aber ich gebe es den richtigen Zeichensatz. Warum sollte es es nicht benutzen?
Wie Bestimmen Sie, wenn die Charaktere sind kaputt? Zum Beispiel ist 'System.out' defekt. –
Die Daten werden als eine Webseite geliefert, die in UTF-8 geschrieben ist. Der HTTP-Header, der XML-Header und das HTTP-Äquiva- Meta sagen UTF-8, und der Browser bestätigt dies. –