Wie kann ich die von der JVM (1.5.x) verwendete Standard-Zeichenkodierung programmatisch richtig einstellen?
Ich habe gelesen, dass -Dfile.encoding=whatever
war früher der richtige Weg für ältere JVMs. Ich habe nicht diesen Luxus aus Gründen, die ich nicht in bekommen.
Ich habe es versucht:
System.setProperty("file.encoding", "UTF-8");
Und die Eigenschaft wird gesetzt, aber sie scheint nicht zu bewirken, dass die endgültige getBytes
Aufruf unten, um UTF8 zu verwenden:
System.setProperty("file.encoding", "UTF-8");
byte inbytes[] = new byte[1024];
FileInputStream fis = new FileInputStream("response.txt");
fis.read(inbytes);
FileOutputStream fos = new FileOutputStream("response-2.txt");
String in = new String(inbytes, "UTF8");
fos.write(in.getBytes());