Хочу вывести греческую букву U (https://unicode-table.com/en/01AF/) - получаю знаки вопроса. Вывожу как System.out.println('\uC6AF');
. Пробовал и UTF-8
и UTF-16
и с помощью chcp
- ничего не помогает. Как правильно работать с Unicode?
Внимательнее читайте свою же ссылку
Там написано
Unicode number U+01AF
то есть в Java
надо написать
System.out.println('\u01AF');
Чтобы выводилось в правильной кодировке - установите кодировку проекта UTF-8
в IDE
В IDEA это делается так: Settings - Editor - File Encodings
Примечание: Если есть проблема с кодировкой самой консоли, выводить можно в файл.
Полностью код выглядит так:
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
// "ISO-8859-1" - западноевропейские языки
// "windows-1251" - стандартная Windows (русская)
// "UTF-8" - юникод
String systemEncoding = "UTF-8";
String text =
'\u01AF' + " - Latin Capital Letter U with Horn\r\n" +
'\u0168' + " - Latin Capital Letter U with Tilde\r\n" +
'\u0055' + " - Latin Capital Letter U\r\n";
// вывод в консоль
System.out.printf(text, systemEncoding);
// вывод в файл
FileOutputStream fileOutputStream =
new FileOutputStream("types_of_u_letters.txt", false);
fileOutputStream.write(text.getBytes(systemEncoding));
}
}
Скорее всего потому, что буква 'U' имеет кодировку 0055. Смотрите актуальную версию таблицы юникод, например здесь: https://unicode-table.com/ru/#control-character Соответственно, вывод этой буквы через юникод будет такой: System.out.println("\u0055");
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Из своего Android-приложения подключаюсь к севреру через обычный SocketНо сервер может работать также с шифрованием
Да я искал, много искал и долго)
Также попрошу проанализировать код и сказать что в нём можно было бы улучшитьСпасибо
Добрый день, возникла очень не понятная ошибка