Кодировки в Java

java string utf8 кодировка bom

Основные правила использования кодировок

  1. работать надо с UTF8 без BOM.
  2. следует помнить в какой кодировке написан текст программы (желательно UTF8).
  3. запомните в какой кодировке были записаны данные в считываемом файле.
  4. в Java надо работать с кодовыми точками (Code Points - тип int - 32 бита), а не с char’ами - 16 бит.
  5. надо знать в какой кодировке выводить (отображать) в консоли.
  6. следует указывать кодировку явно аргументом при компиляции и запуске программ java.

Как считывать файл?

FileInputStream fis = new FileInputStream("test.txt");
InputStreamReader in = new InputStreamReader(fis, "UTF-8");