Вывод на дисплей определяется LOCALE и шрифтами, доступными в терминале.Кроме того, хотя Java использует UTF, в зависимости от того, как представлен этот зашифрованный текст, нет никакой гарантии, что данные представлены в виде UTF.
Вы можете попробовать в командной строке Unix команду locale
, особенно * 1004.* и потенциально LC_ALL
.
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=
С UTF-8 и правильными шрифтами для терминала, он будет отображаться правильно.
Однако могут быть проблемы с тем, какзашифрованный текст представляется java-программе, что может вызвать другие проблемы.
Затем, когда вы попадете в базу данных, база данных также должна поддерживать многобайтовые символы.