Re[3]: DoS866 <->Win1251
От: Blazkowicz Россия  
Дата: 04.07.06 11:10
Оценка:
Здравствуйте, azzx, Вы писали:


A>import java.io.*;


A>public class Test {

A> public static void main(String args[]) throws IOException {
A> System.out.println("Некоторая тестовая строка");

A> PrintWriter pr = new PrintWriter(new File("test.log"));

A> pr.write("Некоторая тестовая строка");
A> pr.flush();
A> }
A>}

Используй тег [java] для раскраски кода. Не пиши строковые константы в коде.

A>Компилируем: java -encoding Cp1251 Test.java — т.е. всё путём.

javac

A>Запускаем: java Test

A>Результат: В файле — Win-1251, на консоли — кракозябры

A>Юзаем стандартный способ...


A>Запускаем: java -Dfile.encoding=cp866 Test

A>Результат: В файле — DOS866, на консоли — всё понятно.

Вроде все понимаешь.

A>Так вот вопрос — как поиметь на консоли понятное и в файле — Win1251?

A>Разные варианты с ручной перекодировкой строк, уже и не помню даже какие
A>точно (ибо несоклько их было), пробовал, а толку не получил.

Вот примеры:
http://rsdn.ru/Forum/Message.aspx?mid=1952081&amp;only=1
Автор: Blazkowicz
Дата: 13.06.06


Но для комерческого продукта такой подход не допустим. Строки все лучше вынести в отдельный файл.
Смотри так же OutputStreamWriter в котором можно указывать кодировку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.