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

 Delphi Discussion :

Delphi XE et UTF8


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut Delphi XE et UTF8
    Bonjour à tous,
    Je sais que cette question a déjà été posée, mais aucune réponse sérieuse n'y a été donné.

    J'ai mon projet tournant sous PostGRESQL et Delphi XE, et j'ai un soucis de format de chaine lorsque je fais des select sur la base (accents massacrés et inexistants).

    Je n'ai pas envie de changer l'encodage de ma base, donc je voulais savoir si on pouvais modifier un quelquechose dans Delphi sans se taper les UTF8ToANSI pour chaque chaine qu'on interprete dans le code.

    En vous remerciant

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 705
    Points : 25 575
    Points
    25 575
    Par défaut
    Il faut rappeler que XE est UNICODE par Défaut !
    UTF8 est géré par un CodePage dans le type String, voir le type UTF8String, à l'époque c'était un AnsiString manipulé via UTF8Encode\UTF8Decode,
    ce Type et fonctions sont obselètes remplacer par UTF8ToWideString ou UTF8ToString

    c'est utile pour la gestion d'un DataSet Ansi comme TBDEDataSet ou TADODataSet, qui ne prendrait pas correctement en compte l'encodage UTF8

    Il faudrait voir avec un DataSet qui gère des UnicodeString comme TCustomSQLDataSet comme sont gérés ce type de chaine, si la conversion est implicite ou pas ?

    C'est peut-être ta library d'accès à la DB PostGreSQL qui n'est pas pleinement compatible !
    Pense à configurer les options de connexions, sous MySQL, il faut indiquer le CharSet de la connexion indépendamment des charset des tables\champs

    Tu peux avoir une table en UTF8 mais une connexion en Latin-1, c'est PGL qui fera la traduction !
    Si tu as des caractères non latin, c'est évidemment non applicable !

Discussions similaires

  1. Delphi ORACLE encodage utf8
    Par rhproof dans le forum Langage
    Réponses: 1
    Dernier message: 15/01/2014, 14h57
  2. DELPHI XE / Zeos / UTF8 / DbMemo
    Par M56OBER dans le forum EDI
    Réponses: 5
    Dernier message: 24/01/2012, 17h05
  3. DELPHI XE / Zeos / UTF8 / DbMemo
    Par M56OBER dans le forum Bases de données
    Réponses: 2
    Dernier message: 24/01/2012, 10h06
  4. [Delphi 5] conversion ISO --> UTF8
    Par Eylir dans le forum Langage
    Réponses: 4
    Dernier message: 22/09/2009, 17h27
  5. Réponses: 2
    Dernier message: 21/03/2002, 00h01

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