Bonjour,

Je tombe sur un os au niveau des charsets et des IBDataSet. Je ne suis pas un expert en delphi, ni en charset.

J'ai un composant de type "IBDataSet" auquel j'attribue une requete SQL (par ex:"select id "numéro" from plan_liq_donnees").

Lorsque que j'utilise l'"Editeur de champs..." du composant IBDataSet. Le nom de colonne s'affiche correctement ('é' s'affiche correctement pour l'exemple).

Mais lorsque j'attribue la requete SQL, que j'ouvre le IBDataSet et que je parcours le nom des champs (attribue Fields) (EN RUNTIME). La colonne "numéro" est convertie dans un autre charset et il me retourne "numéro". Comme si il avait essayé de lire en ANSI cette chaine de caractère qui est en UTF8.

Le paramètre pour la communication avec la base de données est "lc_type=utf8".

Il est possible d'utiliser la fonction UTF8ToString pour convertir "numéro" en "numéro". Mais le problème est que je développe un editeur SQL et que l'utilisateur a la liberté de choisir n'importe quel nom pour ces colonnes.

- Y'a-t-il un endroit dans le studio RAD pour définir le charset qu'utilise les IBDataSets ?
- En quel charset dois-je donner mes requêtes SQL au IBDataSet pour qu'il interpreter correctement celle-ci ?

Je vous remercie de m'avoir lu et pour l'aide que vous pourrez m'apporter.

Informations :
- Delphi XE4 RAD studio
- Firebird v2.5
- lc_type=utf8 comme parametre de la chaine de connection

Merci et bonne journée.