Я не так хорошо знаком с Arduino, но давайте посмотрим на это с точки зрения ЖК-дисплея.
В настоящее время практически все популярные символьные ЖК-дисплеи используют контроллер HD44780 (это то, что поддерживает библиотека LiquidCrystal ). Этот контроллер не поддерживает UTF-8 напрямую, каждый символ представлен одним байтом.
Таким образом, вам нужно конвертировать UTF-8 в 8-битные символы вручную. Контроллер имеет встроенный генератор символов с 208 5x8 и 32 5x10 символами, плюс до 8 пользовательских символов (см. CreateChar ). Вам необходимо сопоставить каждый входной символ с одним из предопределенных / пользовательских символов - очевидно, вы можете отображать только подмножество символов UTF8, вам нужно решить, какие символы вы хотите / можете отобразить.
Само преобразование должно быть довольно простым - вам просто нужно перебрать строку UTF8, отображая каждый символ в один байт. Скорее всего, вы захотите использовать справочные таблицы для простоты. Дайте мне знать, если это требует дальнейшего объяснения.