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 :

Probleme d'affichage de caractère après migration de Delphi 7 à Delphi XE7


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2015
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Probleme d'affichage de caractère après migration de Delphi 7 à Delphi XE7
    Salut,
    j'ai une petite application développée avec delphi7 et MSAcces on utilisant ADOConnection, la base de données contient des enregistrements saisie en langue arabe et en français, jusqu'ici tout marche bien, lorsque j'ai fait une migration de mon application de delphi7 a delphi xe7 on utilisant toujours ADOConnaction, j'arrive pas affiche mes données saisie on arabe (caractères illisibles). j'ai essayer de modifier les paramètres de la langue de system c'est pareil, j'ai modifier les paramètres du font CHARASET = ARABIC_CHARSET toujours pareil.
    j'attend votre aide, marci.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    programme VCL ou FMX ?
    en fait quelque soit le type je pense que le problème de migration vient plutôt du fait que XE7 est unicode contrairement à Delphi 7, peut être que vous utilisez des AnsiString qu'il faudrait transformer soit en string soit en widestring
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2015
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Probleme d'affichage de caractère lors de migration de delphi7 a delphi xe7
    merci pour votre repense sergio, a quel niveau transformer AnsiString en widestring (au niveau de BD ou Delphi)
    merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    il me semblait évident qu'il s'agissait de Delphi
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2015
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Probleme d'affichage de caractère lors de migration de delphi7 a delphi xe7
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,
    il me semblait évident qu'il s'agissait de Delphi
    j'ai essayais mais...
    vous auriez pas une idée svp.
    merci

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Comment était géré l'arabe en D7 ?
    Via application Ansi Windows-1256 ou via UTF8+TNT
    la méthode Windows-1256 permet de gérer du français sans les accents et ligatures
    la méthode UTF8-TNT permet de gérer un français complet et stocke certains caractères sur deux octets au lieu d'un.

    Vérifier votre charset de connexion ADO
    Voici l'équivalent FIREDAC
    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

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2015
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Probleme d'affichage de caractère lors de migration de delphi7 a delphi xe7
    la le moteur de base de données utilisé est microsoft jet 4., la base de données contient plus 400 000 enregistrements on utf-8, quand je compile mon application avec delphi7 tout marche bien, mais on essayant avec delphi xe7 problème d'affichage des caractéres

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    On a compris qu'il y a un problème d'affichage de caractère, c'est le titre du sujet
    On avance un peu, vous savez que votre base est en UTF8
    En D7, faisiez-vous manuellement des UTF8Decode ?
    Vous n'avez pas dit si vous utilisiez des contrôles comme TNT

    Vous ne dites pas si le problème est que cela affiche par exemple "????" ou "aéà%àù"
    Soyez précis dans la description de votre problème.

    Votre réponse est bien rapide, vous avez eu le temps d'explorer toutes les pistes indiquées ?
    votre charset du TADOConnexion, un essai avec un FireDAC
    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

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2015
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    On a compris qu'il y a un problème d'affichage de caractère, c'est le titre du sujet
    On avance un peu, vous savez que votre base est en UTF8
    En D7, faisiez-vous manuellement des UTF8Decode ?
    Vous n'avez pas dit si vous utilisiez des contrôles comme TNT

    Vous ne dites pas si le problème est que cela affiche par exemple "????" ou "aéà%àù"
    Soyez précis dans la description de votre problème.

    Votre réponse est bien rapide, vous avez eu le temps d'explorer toutes les pistes indiquées ?
    votre charset du TADOConnexion, un essai avec un FireDAC
    - UTF8DECODE se fait automatiquement
    - je n'utilise pas TNT, j'ai essayait avec DBGRID ET JVDBGRID

    - caractère affichés c'est des lettres en majuscule avec des accents,des chapeaux et des point au-dessus

    - en essayant d'ajouter charset=utf8; ou charset=utf-8; a la chaîne de connexion ADOconnection je reçois ce message 'Pilote ISAM Introuvable'.

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bon,
    j'ai essayé avec DBGRID ET JVDBGRID
    j'en déduit que le programme est un programme VCL
    en essayant d'ajouter charset=utf8;
    sauf que pour microsoft le codepage utf8 c'est 65001 et qu'il faudrait peut être plutôt écrire CharacterSet=65001 ?

    de toute façon, ADO ça me donne des boutons et comme je n'ai pas de base de données (je n'ai même pas MS Access sur mon poste! ) pour faire des essais je passe la main
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Citation Envoyé par shibahop Voir le message
    - caractère affichés c'est des lettres en majuscule avec des accents,des chapeaux et des point au-dessus
    Oui juste du UTF8 qui n'est pas interprété, preuve que la connexion ne fait pas la translation UTF8->Unicode


    Exemple "Naïveté exagérée" en UTF8 non interprété c'est Naïveté exagérée.
    المبالغة في السذاجة c'est un truc du genre المبالغة في السذاجة (certains caractères ne sont pas imprimables).

    cela se reconnait au premier coup d'œil ce genre de suite de caractère typique de l'UTF8
    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: 26/10/2015, 15h42
  2. Réponses: 3
    Dernier message: 23/07/2012, 11h34
  3. Réponses: 0
    Dernier message: 12/10/2009, 15h58
  4. Réponses: 11
    Dernier message: 15/01/2008, 13h28
  5. Réponses: 13
    Dernier message: 15/05/2007, 16h03

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