IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[0.9.27] Form en UTF8


Sujet :

Lazarus Pascal

  1. #1
    Invité
    Invité(e)
    Par défaut [0.9.27] Form en UTF8
    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.
    Dernière modification par Alcatîz ; 07/12/2008 à 14h43.

  2. #2
    Invité
    Invité(e)
    Par défaut Pour info : petite amélioration avec 0.9.26
    Re-bonjour,

    je n'ai pas réussi à résoudre mon problème d'écriture en UTF8 avec lazarus.
    Initialement, la table Mysql était en latin1-swedish-ci.
    A partir de win XP et d'une lazarus 0.9.27, j'ai transformé son contenu avec des SysToUTF8. Ainsi Cédric est devenu 'Cédric' dans une table en utf8-swedish-ci.

    Le problème actuel est de lire le champ contenant 'Cédric' dans la table utf8 à partir de lazarus avec son interface en gtk2 sous ubuntu et d'afficher 'Cédric'. J'ai essayé avec des strings, des widestrings, des UTF8decode, encode, UTF8toAnsi... en validant ou non "Utiliser les chaines Ansi (-Sh)"... Résultat négatif.

    J'ai rétrogradé la 0.9.27 en la nouvelle 0.9.26 définie comme "stable" dans les 2 environnements. Idem.

    Par contre, sans utiliser de UTF8toAnsi ou équivalent, la 0.9.26 sous Ubuntu lit et écrit dans la table en latin1-swedish-ci... ce que je n'arrivais pas à faire avec la 0.9.27. Notamment, je la remplis normalement à partir de Tedit, de strings avec un code strictement identique pour la version Win32 et la gtk2...

    Bref, le problème est moins urgent car en laissant (provisoirement) mes tables en iso-latin1, je peux continuer mon développement en parallèle sous les 2 OS.

    Mais quand même, sans parler de tables mySQL, qq'1 pourrait-il m'expliquer comment à partir d'un WideString ou d'un String contenant 'Cédric', je peux faire apparaître 'Cédric' en utilisant par exemple un showmessage avec une lazarus 0.9.26 sous ubuntu qui compile avec son interface LCL = gtk2 ?

    Merci d'avance. Cordialement.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/02/2015, 15h34
  2. Réponses: 87
    Dernier message: 06/07/2011, 15h33
  3. [Lazarus] [0.9.28.2] UTF8, forms et composants
    Par diam's dans le forum Lazarus
    Réponses: 5
    Dernier message: 07/09/2010, 10h58
  4. [FORMS] Chemin des icones (intégré FAQ 150 QR)
    Par jerome62 dans le forum Forms
    Réponses: 2
    Dernier message: 30/07/2002, 08h32
  5. Form principale non visible au demarrage!!!!
    Par toufou dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/07/2002, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo