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

Qt Quick Discussion :

Encodage d'un fichier texte


Sujet :

Qt Quick

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Janvier 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut Encodage d'un fichier texte
    Bonsoir à tous,

    Je souhaite enregistrer un fichier texte sous le codage de caractères "ISO 8859-1/Windows-1952/ANSI" depuis QtQuick. Pour l'exportation des données, je suis obligé de respecter ce codage de caractères (normes à respecter pour l'application).
    Jusqu'à là, rien de bien compliqué, car les exemples ne manquent pas...

    Cependant, je rencontre une petite difficulté. En effet, le code ci-après, enregistre bien le fichier texte au format ANSI lorsque mes données à enregistrer contiennent un accent (exemple : "J'ai mangé"). Dès que les données ne contiennent pas d'accent (exemple : "aie"), le format du fichier texte passe automatiquement en "UTF-8"...

    Je souhaite forcer l'enregistrement systématique du fichier texte sous le codage de caractères "ISO 8859-1/Windows-1952/ANSI"...

    Avez-vous une explication ? En attendant, voici le code d'appel :
    Code Qt : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    #ifndef FILEIO_H
    #define FILEIO_H
     
    #include <QObject>
    #include <QFile>
    #include <QTextStream>
    #include <QTextCodec>
    #include <QDebug>
     
    class FileIO : public QObject
    {
        Q_OBJECT
     
    public slots:
        bool write(const QString& source, const QString& data)
        {
            if (source.isEmpty())
                return false;
     
            //QFile file(source);
            QFile file("out1.txt");
            if (!file.open(QFile::WriteOnly | QFile::Text))
                return false;
     
            QTextStream out(&file);
            out.setCodec(QTextCodec::codecForName("ISO 8859-1"));
            //out.setCodec("ISO 8859-1");
     
            out << data;
     
            file.close();
            return true;
        }
     
    public:
        FileIO() {}
    };
     
    #endif // FILEIO_H

    Merci de votre aide.

    Bonne soirée.

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 440
    Points
    2 440
    Par défaut
    Bonjour.

    Qu'est-ce qui t'indique que le fichier est encodé en utf-8 quand il n'a que des caractères ASCII ?
    Cette information n'est pas liée au fichier (qui n'est qu'un ensemble de bytes), et son encodage n'est qu'une interprétation de ses bytes.
    Si le fichier n'a que des caractères dont le code est inférieur à 0x7F, le décoder avec l'encodage ASCII, ISO-8859-x ou utf-8 donnera le même résultat.

    Selon moi, l'outil qui te dit que c'est de l'utf-8 n'a pas tort, mais il pourrait aussi à raison te dire que c'est de l'ISO-8859-x, donc je pense qu'il ne faut pas s’inquiéter à priori.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Janvier 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Bonsoir Daïmanu,

    Je te remercie pour tes remarques.
    Je vais terminer mon application et faire un essai grandeur nature d'exportation de mon fichier texte normatif.
    Je verrai si la plateforme web va l'accepter.

    Sinon, concernant le logiciel qui m'indiquait le format de mon fichier texte, c'est Notepad++.

    Règles impératives que je dois respecter pour l'exportation de mon fichier : « ...la sortie doit être au format texte avec séparateur « ; » avec encodage ANSI et saut de ligne au format DOS/Windows (CR/LF) - (norme ISO 8859-1 / windows-1252), sans caractères spéciaux à l’exception du tiret... ».

    Si tu as d'autres remarques ou commentaires, n'hésites pas !

    Encore merci et à bientôt.
    Bien cordialement.

Discussions similaires

  1. Détecter l'encodage d'un fichier texte
    Par Emcy dans le forum Algorithmes et structures de données
    Réponses: 32
    Dernier message: 27/01/2011, 14h34
  2. Deviner l'encodage d'un fichier TEXTE
    Par rambc dans le forum Général Python
    Réponses: 10
    Dernier message: 10/07/2010, 17h16
  3. Réponses: 2
    Dernier message: 19/10/2009, 21h36
  4. Comment connaître l'encodage d'un fichier texte?
    Par sergentgarcia dans le forum Général Python
    Réponses: 3
    Dernier message: 26/05/2008, 10h41
  5. Gérer l'encodage d'un fichier texte
    Par MITCH31 dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 15/05/2007, 10h24

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