Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Acentos con UTF8 - Delphi XE y Firebird 2.5 (https://www.clubdelphi.com/foros/showthread.php?t=75327)

Antoniov 14-08-2011 02:47:51

Acentos con UTF8 - Delphi XE y Firebird 2.5
 
Hola a todos. Aunque he buscado en los foros distintos temas sobre los problemas al introducir acentos en las bases de datos, todas las respuestas han sido conjeturas porque nadie parece haber trabajado con UTF8.

Uso Delphi XE
Interbase 2.5
Para manejar al BD uso SQL Manager 2008 Lite (es gratuito)

El tema es que he creado una base de datos con UTF8.
Cuando le añado registros con SQL Manager todo va bien y se ven los acentos, ñ y demás correctamente y no hay errores.

Cuando leo los datos desde mi aplicación en Delphi los caracteres con acentos se ven mal y pasa de "atención al público" a "Atención al público"

Y si intento introducir un dato con un acento da un error.
En cambio si dejo el texto tal cual y le añado alguna letra normal, todo funciona bien.

A la aplicación le he puesto la unit de reconcile error y me muestra un error
"Malformed string"

Hay alguien que haya trabajado con BD con UTF8 y me puede ayudar?

Gracias de antemano.

Antoniov 14-08-2011 03:38:47

Resuelto
 
En el TSQLConnection poner
ServerCharSet = UTF8

Si luego empieza a aparecer un error del tipo:
Remote error type mismatch for field XXX expecting string actual widestring

Eso es debido a que en el TSQLDataSet ya habíais añadido los campos. Hay que quitarlos y volver a añadirlos.

En el TClientDataSet hay que hacer lo mismo.

Y lista la aplicación para usar una BD con UTF8


La franja horaria es GMT +2. Ahora son las 04:12:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi