Pregunta

Estoy tratando de imprimir un montón de etiquetas de la unidad; Algunos de ellos contienen personajes griegos, algunos tienen otros puntos de código divertido.

Lo rastreé de vuelta al wctomb Funciones que no saben qué hacer con EG UTF-16 CARÁCTER 8240:

char mb[10]; 
assert( 0 <= wctomb(mb,8240) );

¿Cómo puedo establecer el lugar utilizado por wctomb a, por ejemplo, "todos los personajes de Unicode"?

¿Cómo puedo encontrar el nombre de la localidad adecuado que necesito, comenzando con los personajes que necesito?

¿Fue útil?

Solución

Establecer una configuración regional UTF-8 correcta lo arreglará;

#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main()
{
    setlocale(LC_ALL, "en_US.UTF-8");
    char mb[10]; 
    assert( 0 <= wctomb(mb,8240) );
    printf("%s\n", mb);
    return 0;
}

Ver http://ideone.com/sflzj

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top