У меня есть небольшое приложение java. Я развиваю его в затмении. он берет текст из xml файла и загружает его на веб-сайт. в затмении everithing работает отлично. но когда я компилирую свое приложение в исполняемый банку и запускаю его из cmd, возникает большая проблема - все нелатинные символы превращаются в нечитаемые символы.
Я попытался поместить <?xml version="1.0" encoding="windows-1251"?>
или <?xml version="1.0" encoding="utf-8"?>
однако это не помогает.
как я могу исправить эту проблему?
любая помощь appriciated!
Вы можете попробовать с указанием 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).
"Cp850"
(MS-DOS western). Если я прав, я бы хотел плакать. Кстати, не в XML, но где вы пишете.