Java - обнаружить и изменить кодировку

1

У меня есть небольшое приложение java. Я развиваю его в затмении. он берет текст из xml файла и загружает его на веб-сайт. в затмении everithing работает отлично. но когда я компилирую свое приложение в исполняемый банку и запускаю его из cmd, возникает большая проблема - все нелатинные символы превращаются в нечитаемые символы.

Я попытался поместить <?xml version="1.0" encoding="windows-1251"?> или <?xml version="1.0" encoding="utf-8"?> однако это не помогает.

как я могу исправить эту проблему?

любая помощь appriciated!

  • 0
    Если я правильно помню, попробуйте "Cp850" (MS-DOS western). Если я прав, я бы хотел плакать. Кстати, не в XML, но где вы пишете.
Теги:
encoding

1 ответ

0

Вы можете попробовать с указанием UTF-8 Charset (или любой другой поддерживаемый набор символов, по этому вопросу) явно в выходном писательницы конструктора.

Например, при использовании класса PrintWriter для вывода данных:

Writer writer = new PrintWriter("myfile.txt", "UTF-8");
writer.write("Hällo Wörld!");
writer.close();

Пример эквивалентности при использовании класса OutputStreamWriter:

Writer writer = new OutputStreamWriter(System.out, "UTF-8");
writer.write("Hällo Wörld!");
writer.close();

(Обратите внимание, что в обоих случаях Charset должен быть указан через его текстовое имя (то есть "UTF-8"), а не путем прямого экземпляра соответствующего класса.)

Таким образом, вероятным объяснением вашей проблемы является то, что, поскольку кодировка не указывается явно, система пытается отступить к кодировке по умолчанию вашей ОС (что, вероятно, не UTF-8).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню