Java, разная кодировка в разных ОСях

Модератор: Модераторы разделов

Аватара пользователя
zshgm
Сообщения: 311
ОС: Debian

Java, разная кодировка в разных ОСях

Сообщение zshgm »

К примеру читаю XML в Document из файла и вывожу на экран(swing jtree).. в Linux'е вижу читаемый текст, если же запускаю эту прогу в винде - абракадабру.
или на оборот, сохраненный в винде - вижу нормально а в линухе - ерунда.
Как задать кодировку чтения из файла? Возможно ли указать jar'нику использовать какую-либо кодировку по умолчанию а не брать настройки у ОС ?

public static Document XmlToDocument(String filename) throws Exception{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db;
Document xml_document=null;
try {
db = dbf.newDocumentBuilder();
xml_document = db.parse(new InputSource(new FileReader(filename)));
} catch (Exception e) {
System.err.println(e.getMessage());
}
return xml_document;
}
newblog.kz - заработай на своих статьях :)
Спасибо сказали:
Аватара пользователя
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков

Re: Java, разная кодировка в разных ОСях

Сообщение begin2009 »

У Дэвида Флэнагана в "Java в примерах - справочник" посмотрите пример 7.2 Не подходит?

Даже если не то, то книга полезная.

А в программе можно сделать считывание параметров с командной строки при запуске. С одним параметром одна кодировка, с другим другая. В линуксе запускать скриптом, в венде команндным файлом.
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
Спасибо сказали:
alfss
Сообщения: 262

Re: Java, разная кодировка в разных ОСях

Сообщение alfss »

как-то в эту сторону рыть http://www.exampledepot.com/egs/java.io/ReadFromUTF8.html
Спасибо сказали:
Аватара пользователя
xackera
Сообщения: 27
ОС: Fedora

Re: Java, разная кодировка в разных ОСях

Сообщение xackera »

сохраняй файл в кодировке utf8 и Windows и Linux её нормально поддерживают.
Linux сообщество Узбекистана
Больше быть, чем казаться!
Много делать, но мало выделяться

Простите мне мои опечатки, ибо я не совершенен ;)
Спасибо сказали:
Аватара пользователя
xackera
Сообщения: 27
ОС: Fedora

Re: Java, разная кодировка в разных ОСях

Сообщение xackera »

возник вопрос - данные читаете из dbf? dbf создан не MS FoxPRO? и какую бблиотеку используете?
Linux сообщество Узбекистана
Больше быть, чем казаться!
Много делать, но мало выделяться

Простите мне мои опечатки, ибо я не совершенен ;)
Спасибо сказали:
Аватара пользователя
zshgm
Сообщения: 311
ОС: Debian

Re: Java, разная кодировка в разных ОСях

Сообщение zshgm »

Получилось. Всем спасибо :)
Действительно достаточно было явно указать кодировку при чтении и записи.

заменил
//xml_document = db.parse(new InputSource(new FileReader(filename)));
на
xml_document = db.parse(new InputSource(new InputStreamReader(new FileInputStream(filename),"UTF8")));

и заработало как надо :)
newblog.kz - заработай на своих статьях :)
Спасибо сказали: