Bonjour,
Il est précisé que les versions de lazarus postérieures à la 9.0.25 utilisent nativement UTF8 : cela devrait faciliter le développement multiplateforme.
Or, sous Win32 avec Lazarus 9.0.27, avec un showmessage, je ne peux afficher la valeur d'un champ contenant un accent (provenant d'une table mySQL UTF8), qu'en utilisant showmessage(UTF8ToAnsi(ChampLu));
Je compile avec l'option -dWindowsUnicodeSupport dans BuildLazarus
Je vérifie {$ifdef WindowsUnicodeSupport}
if UnicodeEnabledOS then begin...
... et je ne trouve pas de méthode qui me permettrait de me dispenser une bonne fois pour toute de la fonction UTF8ToAnsi dans la Form...
Eventuellement en jouant avec la Fonte des Edit on peut "passer" de l'unicode mais pas dans showmessage (autrement que par UTF8ToAnsi).
Evidemment si la table est définie en Latin1 alors RAS sous windows et même sous ubuntu +lazarus 9.0.27 qui pourtant dans ce cas devrait poser problème puisque "nativement et complémentairement" en UTF8.
J'avoue que j'y perds mon... latin. Qq'1 pourrait-il m'éclairer ?
PS: Pour accéder à ma base mySQL, j'utilise les composants Zeoslib dont les propriétés du connecteur sont paramétrées pour UTF8 et le dbGRID qui lui est relié affiche tout à fait correctement les caractères accentués de la table en UFT8 (ie sans aucun traitement)... aussi bien sous win32 que sous ubuntu...
Cordialement.
Partager