C++, ASCII y UTF-8

Estoy una programas sencillos en C++ y necesito tirar de parámetros en los que puede haber acentos, eñes y demás. Todas estos caracteres especiales están en contenidos en el ASCII, que es el que usa el C++ en los char. Hasta aquí todo bien, sin problema, pero el caso es que Linux usa por defecto el UTF-8. El problema es que en UTF-8 estos caracteres especiales (vocales con acentos, eñes, etc.) usan dos bytes para codificarse, por lo que si estoy trabajando con chars/strings se me viene todo abajo.

¿Alguna idea de como poder solucionar esto? Me he estado mirando la clase locale, pero no encuentro nada que me ayude a resolver este problema (aunque no sé porqué me da que se me está escapando algo).
Creo que c++ tiene un modo para trabajar con utf-8, busca uchar, que creo que ese era el tipo.

Mira tambien aqui:
http://www.forosdelweb.com/f14/imprimir-n-319113/
hilo_principiante-en-c-caracteres-n-and-company-en-cout_1126420
http://familiaytu.com/blog/letras-con-acentos-en-c-c/

Edito:
Por lo visto el problema puede ser la fuente del propio terminal, que como tu dices es UTF-8, en principio se puede cambiar por una "raster font" que se supone que mostraría el simbolo correcto.
1 respuesta