[C con Clase] Problema con UNICODE y los acentos

Steven Davidson srd4121 en njit.edu
Mar Jun 24 23:30:38 CEST 2008


Hola Juan,

Juan wrote:
> Porqué en el siguiente código compilado con la opción UNICODE, mingw
> me da un error de bytes debido al acento de *Operación cancelada"
> una vez quitado el acento, si lo compila
> Sin UNICODE no da problemas.
> Con visual c 2005 lo compila en ambos casos
> ----------------------------------------------------------------------------
> 
> 	if( !PrintDlg( &pd ) )
> 	{
> 		MessageBox( NULL, TEXT("Operación cancelada"),TEXT("Error"), MB_OK | MB_ICONERROR );
> 		return -1;
> 	}

El problema es que el compilador usa UTF-8 por defecto y no existe una 
conversión a UTF-8. Esto seguramente se deba a que el compilador no está 
enlazado con "libiconv.a"; o al menos una versión reciente. Podemos 
arreglar el problema fácilmente.

Ve a las opciones del compilador: Herramientas->Opciones del Compilador. 
Escribe la siguiente opción para el compilador:
-finput-charset=iso-8859-1

También podrías usar "latin5":
-finput-charset=latin5

Vuelve a crear el proyecto.


Espero que esto te sirva.

Steven





Más información sobre la lista de distribución Cconclase