Хочу проверить правильность заполнения из проперти и вывожу в лог. Но там абракадабра непонятная. И не понятно: проблема в кодировке или нужно локализацию делать? в с++ легко делается, но про java не нашел в интернете. Пользуюсь IntelliJ IDEA
Вы, наверное, работаете в Windows? Там главная причина вывода нерусских букв заключается в OEM кодировке системы, под которую подстраиваются и java, и консоль.
Во-первых, есть кодировка по умолчанию, которой пользуется Java для ввода-вывода. Она задаётся при старте в свойстве file.encoding
и доступна для чтения как Charset.defaultCharset()
. В Windows эта кодировка устанавливается в OEM codepage.
Проверить можно вот такой маленькой программой:
import java.nio.charset.Charset;
class Main {
public static void main(String[] args) {
System.out.println(Charset.defaultCharset());
}
}
Во-вторых, есть ещё кодировка символов в консоли. Консоль линукса, как правило, выводит в UTF-8, но консоль Windows выводит в кодировке текущей локали (OEM codepage).
Посмотрите в свойствах консоли, какая страница установлена у вас.
Кодировка консоли меняется командой chcp
. Кодовая страница UTF-8 - 65001
Попробуйте:
chcp 65001
java "-Dfile.encoding=utf-8" YourMainClass
(если в шрифте консоли нет кириллических символов, вместо них будут выводиться серые квадратики)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется структура типа Map<String, List<MyClass>>Как с помощью Stream API преобразовать ее к типу Map<String, List<MyClass
Есть postgres DB, пользователь вводит почту и пароль, по этим данным нужно вывести ему из другой таблицы его счетаКак в запросе в Java закинуть эту...
При загрузке изображения категории товаров происходит изменение цвета фотоОт черного к коричневому
Кода начинал верстать шаблон для сайта, полос не было, но спустя некоторое время начали появлятся полосы с id: #textЧто они означают? И как их убрать?...