[Lazarus-es] Codificación de caracteres
Antonio Évora
aevorar en gmail.com
Jue Nov 11 15:26:29 CET 2010
Hola compañeros,
Estoy sufriendo una paranoia con el tema de los acentos. Según he leído
desde la versión 0.9.25 de lazarus todo está codificado con UTF8 (tengo
la 0.9.28) sobre SO Windows XP.
Bueno tengo el siguiente procedimiento:
procedure Aviso(Texto: string);
begin
Application.MessageBox(pchar(Texto),'Aviso',64);
end;
Y lo llamo con:
Aviso('Los parámetros han sido actualizados con éxito');
Al mostrar el mensaje los caracteres acentuados son sustituidos por ?.
Pensando que pudiera ser por el tipo del parámetro lo cambie por
UTF8String con el mismo resultado. Examinando el valor del parámetro una
vez pasado siempre va codificado en Ansi independientemente del tipo.
Cambiando la instrucción del procedimiento por:
Application.MessageBox(pchar(AnsiToUtf8(Texto)),'Aviso',64);
Funciona OK.
¿Como puedo trabajar para evitar el tener que andar convirtiendo entre
tipos de datos?
More information about the Lazarus-es
mailing list