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 :

Problème avec les caractères accentués depuis FPC 3/Lazarus 1.6 avec CSVDocument


Sujet :

Lazarus Pascal

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 44
    Points : 85
    Points
    85
    Par défaut Problème avec les caractères accentués depuis FPC 3/Lazarus 1.6 avec CSVDocument
    Bonjour à tous

    Voici mon problème, que je ne sais comment solutionner sur un programme qui fonctionnait depuis plusieurs années.

    Le programme fonctionne correctement avec CSVDocument pour lire un fichier CSV pour le charger dans une base SqlIte en UTF8.

    Tout allait bien jusqu'à la compilation de FreePascal V3 / Lazarus V1.6. Je sais qu'il y a eu un changement sur la gestion en natif des caractères de la FPC3, mais là je suis sec.

    Depuis cette compilation, j'ai un problème avec caractères avec accents, ils ne sont plus reconnus une fois chargés , j'ai des "?" à leur place dans la base de données : Poteau chrom� R+24 restriction acc�s

    Je ne sais plus où chercher pour que les données soient intégrées correctement, comme j'avais avant.

    Merci de votre aide

  2. #2
    Membre confirmé

    Homme Profil pro
    Autre
    Inscrit en
    Novembre 2015
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Novembre 2015
    Messages : 145
    Points : 625
    Points
    625
    Par défaut
    N'utilisant pas moi-même CSVDocument, je ne peux probablement pas être d'un très grand secours, désolé. Ceci étant...

    Apparemment, CSVDocument est maintenant intégré directement dans FPC (cf. sources dans fcl-base/src) depuis la version 3.0: utilisez-vous cette "nouvelle" version (ce qui serait préférable à mon avis), ou bien toujours une "ancienne" version externe ?

    Que contiennent vos fichiers CSV : des données texte encodées en ANSI ? Par ailleurs, utilisez-vous la LCL dans votre programme ?

    Car l'une des conséquences directement liées à l'utilisation de la nouvelle version du compilateur et de son intégration dans Lazarus (i.e. avec la LCL), est que les chaînes de caractères de type ANSI ne sont pas/plus utilisables en tant que telles (bien que ceci soit certes un "raccourci", il a au moins le mérite d'être explicite): elles sont en effet "mappées" sur les chaînes de caractères de type UTF8.

    Pour les anciens programmes traitant un tel type de chaînes de caractères, ceci peut alors poser des problèmes. Et je ne suis pas certain que ceci ait été pris en compte dans la version fournie maintenant directement avec FPC (les équipes FPC et Lazarus sont différentes).


    Je viens de faire un petit test rapide (basé sur "testcsvdoc" fourni avec CSVDocument): l'exemple compilé avec FPC lit et affiche ainsi correctement des données texte en ANSI depuis un fichier CSV. Mais le même exemple compilé avec Lazarus (i.e. avec la LCL), n'affiche les données correctement que si elles sont au format UTF8 dans le même fichier CSV.


    *** Edit ***

    Suivant la raison de votre problème (ce qui précède n'est qu'une hypothèse de ma part concernant votre utilisation de cet outil), il y a probablement un moyen simple de corriger ou tout au moins de contourner le problème: produire de fichiers CSV avec un nouvel encodage, ou bien les convertir à la volée avant de les lire; éventuellement faire la conversion du texte en interne après le chargement (car a priori l'outil semble accepter de l'UTF8 ou de l'ANSI indifféremment), mais en utilisant alors les fonctions WinCPToUTF8/UTF8ToWinCP et surtout pas les anciennes fonctions AnsiToUTF8/UTF8ToAnsi (dans le cas: Lazarus/LCL + FPC 3.0 et sans -dDisableUTF8RTL).

  3. #3
    Membre actif

    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 287
    Points
    287
    Par défaut lettres accentuées
    Citation Envoyé par cirle78 Voir le message
    Bonjour à tous

    Voici mon problème, que je ne sais comment solutionner sur un programme qui fonctionnait depuis plusieurs années.

    Le programme fonctionne correctement avec CSVDocument pour lire un fichier CSV pour le charger dans une base SqlIte en UTF8.

    Tout allait bien jusqu'à la compilation de FreePascal V3 / Lazarus V1.6. Je sais qu'il y a eu un changement sur la gestion en natif des caractères de la FPC3, mais là je suis sec.

    Depuis cette compilation, j'ai un problème avec caractères avec accents, ils ne sont plus reconnus une fois chargés , j'ai des "?" à leur place dans la base de données : Poteau chrom� R+24 restriction acc�s
    J'ai rencontré le même problème.
    Heureusement, Lazarus met à disposition un outil "Convertir l'encodage" qui repère les fichiers non UTF8. Il suffit de cliquer sur le bouton Convertir et le tour est joué.
    Il est possible également d'utiliser des utilitaires comme NotePad+, mais la méthode me semble moins élégante.

Discussions similaires

  1. Problème avec les caractères accentués
    Par abbd dans le forum Windows Forms
    Réponses: 6
    Dernier message: 13/02/2009, 17h40
  2. [MySQL] Probléme avec les caractéres accentués suite à un export
    Par UNi[FR] dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/05/2006, 09h10
  3. [SQL-Server] ms sql server et php : problème avec les caractères accentués
    Par stephane9422 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/12/2005, 17h45
  4. [AJAX] Problèmes avec les caractères accentués
    Par marti dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 26/10/2005, 14h10
  5. Réponses: 5
    Dernier message: 04/09/2005, 12h34

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