What is being written to is a 16 x4 character LCD. the original post has the codes to display characters.
A subroutine "void write_data (uint8_t data)" controls the RS and E enable lines, sends 8 bit data to the LCD with the proper timing loops. The printf() statement is not used. Once the letter is formatted correctly, the LCD should take "ALT + 132" and produce the correct letter.
How have you defined your string? is it wchar_t? The string worked in Code Warrior and in KDS. Here is how the array is defined:
const uint8_t spec_security_menu [spec_menu_13][LANGUAGE][CHOICE_4][CHAR_16] =
Which library are you using? It should be newlib (or newlib-nano)
Actually no library was being used. I did try the stdio.h because of your suggestion since it is being used for printing to the debugger console.
Which locale are you using? I do not know what that means.
Suggest you search for "UTF8 handling in C" I will do that.