Изменить sun.jnu.encoding в CentOS 7

311
02 мая 2017, 05:02

Считываю файлы следующим образом:

Files.lines(Paths.get(path), Charset.forName("UTF-8")).reduce("", String::concat)

Изначально была ошибка:

java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /path/?????? ? ???.txt

Сделал следующее:

path = URLDecoder.decode(path, "UTF-8")

Ошибка немного изменилась:

java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /path/имя файла.txt

Много копался в гугле, задавал уже один вопрос, но удалил его из-за плохой формулировки.

Пришёл к следующему: параметры file.encoding и sun.jnu.encodingимеют значение ANSI_X3.4-1968.
Изменять их с помощью System.setProperty(), устанавливать переменные среды JAVA_TOOL_OPTIONS, JAVA_OPTS, NXF_OPTS, JVM_SUPPORT_RECOMMENDED_ARGS, CATALINA_OPTS и так далее. Ничего не помогает. Если изменить имя файла на английское - ошибок никаких нет.

Как изменить эти системные параметры? Локали тоже установлены:

[root@rop web]# locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=ru_RU.UTF-8

Сделал, чтобы прямо перед чтением файла вызывался метод System.setProperty(), затем getProperty(), параметры меняются, но ошибка остаётся.

tomcat 9, URIEncoding="UTF-8" в host server.xml установлено.

READ ALSO
Создание собственного контейнера [требует правки]

Создание собственного контейнера [требует правки]

Create a container that encapsulates an array of String, and that only adds Strings and gets Strings, so that there are no casting issues during useIf the internal array isn’t big enough for the next add, your container should automatically resize it

404
Как задать свои названия кнопок в Dialog (JavaFX)?

Как задать свои названия кнопок в Dialog (JavaFX)?

Всем приветИскал аналог JOptionPane для JavaFX

240
Box2d applyLinearImpulse и setLinearVelosity

Box2d applyLinearImpulse и setLinearVelosity

У меня задача в каждый момент времени направлять скорость движения объекта по заданному углу

329