al_utf8_encode man page
al_utf8_encode — Allegro 5 API
#include <allegro5/allegro.h> size_t al_utf8_encode(char s, int32_t c)
Encode the specified code point to UTF-8 into the buffer
s. The buffer must have enough space to hold the encoding, which takes between 1 and 4 bytes. This routine will refuse to encode code points above 0x10FFFF.
Returns the number of bytes written, which is the same as that returned by al_utf8_width(3).
al_ustr_newf(3), al_utf16_encode(3), al_utf8_width(3).