Как изменить таблицу кодировки файлов в java

У меня есть код для проверки таблицы кодирования:

System.out.println("enc. table: "+System.getProperty("file.encoding") +
          "enc. table: "+new java.io.OutputStreamWriter(new java.io.ByteArrayOutputStream()).getEncoding() + 
          "enc. table:" + java.nio.charset.Charset.defaultCharset().name());

Когда я запускаю Windows, я получаю текстовый файл с cp1250, когда я запускаю свою встроенную систему, я получаю текстовый файл с cp852. В окнах я установил кодовую страницу 852. В Eclipse я установил cp852. Какое-то решение?


person Ballon    schedule 22.06.2011    source источник
comment
возможный дубликат кодировки символов платформы по умолчанию   -  person jtahlborn    schedule 22.06.2011
comment
Как изменить все эти настройки грамматически из java. Это возможно?   -  person Ballon    schedule 23.06.2011
comment
вам не нужно его менять. все классы jdk, которым требуется кодировка, позволяют указать ее вручную. (и вы не можете надежно изменить значение по умолчанию во время выполнения).   -  person jtahlborn    schedule 23.06.2011


Ответы (1)


Вы действительно должны указать требуемую кодировку в файле OutputStreamWriter.

new OutputStreamWriter(outstream, "cp852");

Вы также можете прочитать статью Джоэлса Абсолютный минимум, который каждый разработчик программного обеспечения обязательно должен знать о Unicode и символах Наборы

person Gareth Davis    schedule 22.06.2011