Друзья, нужна помощь! Экран тфт-тач на ST7781, библиотека к нему. Все работает отлично… кроме кириллицы. Переделал glcdfont.c- добавил недостающие кириллические символы. Латиница выводится нормально, а вот перед русскими буквами появляется непонятный символ, а затем уже сама буква. Я так понял ардуино ИДЕ работает в UTF-8, а там латинский символ - 1 байт, русский -2 байта. Вот русская буква и занимает два знакоместа, точнее в начале непонятный знак, а следом нормальная буква. Строка скетча, к примеру: tft.println("ФЫВА QWERT!"); приобретает в файле *.cpp (TEMP/build***) вид tft.println("\u0424\u042b\u0412\u0410 QWERT!"); и в таком виде компилируется. Вопрос - кто виноват и что с этой фигней делать?
Виновато разнообразие кодировок, а делать либо функцию перекодирования, либо текстовые константы в виде последовательности кодов символов используемых дисплеем.
Может как-то первый байт отрезать и выводить только второй (одним байтом, как латиница). Проблема в том, как убрать символ который выводится в нагрузку к нормальной букве. Получается на экране типа: |`;Ф|`;Ы|`;В|`;А . Занимают два знакоместа. Вот эту, условно « |`;» - убрать и всё было бы хорошо. Сильно не пинайте, я – нуб, как и написано в подписи.