Curto:
- o terminfo não o levará até lá, não ajudará
- não há uma maneira confiável de determinar qual codificação um terminal realmente usa
- a partir de literais Unicode é o caminho a seguir, desde que você saiba qual codificação deseja usar no terminal
- o usuário precisa saber qual localidade é apropriada e qual codificação o terminal pode fazer
- o padrão C tem funções para converter caracteres "largos" que você terá disponível em qualquer plataforma semelhante a Unix (veja por exemplo
setlocale
,wcrtomb
ewcsrtombs
)