У меня есть входной файл в определенной кодировке (utf8), из которой я создаю разные файлы, чьи имена и содержимое (снова utf8) берутся из этого входного файла.Настройка кодировки имени файла
Моя проблема заключается в том, что одна конкретная система Windows, созданные файлы не имеют правильных символов. Содержимое этих файлов прекрасно читается, но их имена не являются. Вместо Ü.xml
файл имеет имя ├£.xml
.
В других системах Windows все работает нормально.
Кодирование содержимого файла может быть установлено в следующем аргументе OutputStreamWriter
, но кодировка имени файла не может быть установлена в new File(name)
.
Спасибо.
Что произойдет, если вы вручную скопируете 'Ü.xml' в эту систему Windows? Какова стандартная кодировка JVM в обеих системах? – Thomas
Копирование вручную работает. 'System.getProperty (" file.encoding ")' is "Cp1252" для обоих. – stracktracer
Спасибо за отзыв. Оказывается, проблема связана с проблемой maven, так как файлы правильно генерируются при выполнении java, но только когда maven упаковывает их в банку, проблема там. См. Http://stackoverflow.com/questions/9258347/file-name-encoding-in-jar. – stracktracer