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

Bases de données Delphi Discussion :

Accès SQLite - Caractères accentués


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Par défaut Accès SQLite - Caractères accentués
    Bonjour tout le monde,

    Je suis toujours dans mes tests d'accès entre Delphi6 et une BDD SQLite 3 via UNIDac ou ODBC et j'ai de nouveau un petit soucis.

    La base SQLite 3 a été créée au format UTF-8.

    Lorsque je gère les données texte depuis les composants UNIDac, le format UTF-8 est conservé, les caractères accentués fonctionnent bien.

    Par contre, lorsque j'accède aux données via l'ODBC et un TDatabase, les données sont gérées en caractères ANSI.

    Je me retrouve donc avec la situation suivante :
    Caractères écrits depuis UNIDAC : UNIDAC éàèüöä
    Caractères lus via l'ODBC : UNIDAC éÃ*èüöä

    Caractères écrits depuis l'ODBC : ODBC éàèüöä
    Caractères lus via UNIDAC : Rien

    Il faut donc que j'aie soit un accès UNIDac en ANSI, soit un accès ODBC en UTF-8 pour que tout cela soit compatible.

    Quelle est la meilleure solution? Tout en UTF-8 ou tout en ANSI? je suppose que l'UTF-8 est meilleure vu que la base de données est au format UTF-8.

    Si c'est le cas, comment changer le format de caractères de ma connexion via ODBC? Je n'ai aucun paramètre dans l'alias ODBC concernant le set de caractères.

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 096
    Par défaut
    Tu oublies quelque chose d'important, la VCL, et les composants comme DBEdit, DBGRid... qui sont en ANSI, de toute façon, tu ne pourras jamais affiché tous les caractères UTF-8 sans passer par des composants comme TNTUnicode ou TMS

    Pourquoi tu mélanges ODBC et UniDAC ?
    C'est un besoin précis d'utiliser les 2 ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/11/2013, 19h32
  2. Sqlite / C# et caractères accentués
    Par BigFellow dans le forum SQLite
    Réponses: 3
    Dernier message: 15/12/2011, 11h52
  3. Sqlite / C# et caractères accentués
    Par BigFellow dans le forum C#
    Réponses: 1
    Dernier message: 14/12/2011, 22h10
  4. [PostgreSQL] Les caractères accentués ?
    Par yacomor dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/02/2003, 16h30
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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