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

Discussion :

Écrire dans un fichier avec des accents

  1. #1
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut Écrire dans un fichier avec des accents
    Bonjour,

    Je suis sous windows la, avec QtCreator (sous Gnu/Linux, pas de soucis...).
    J'ai un petit soucis avec les accents en écrivant dans un fichier txt puis en l'affichant.

    Quand je récupère du texte d'un lineEdit pour l'écrire dans un fichier, pas de soucis, mais quand je fais ceci, j'ai des losanges avec un point d'interrogation à la place des lettres accentuées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QFile file(".\\divers\\adresses.txt");
            if (file.open(QIODevice::Append|QIODevice::Text)) {
                file.write("Prénom");
    Savez vous comment remédier à cela svp ?
    Merci d'avance,
    Très cordialement,
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Bonjour,

    Essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file.write(QString::fromUtf8("Prénom"));

  3. #3
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Merci mais j'ai ce message d'erreur :

    "no matching function for call to 'QFile::write(QString)'"
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Oui il faut rajouter toAscii() bien sûr vu que ça ne prend que QByteArray ou char*.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file.write(QString::fromUtf8("Prénom").toAscii());

  5. #5
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Désolé mais ça ne marche toujours pas. Maintenant, j'ai juste un ? à la place des lettres accentuées...
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  6. #6
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Tu as vérifié que l'encodage de ton code source est également utf-8 ? Je ne sais plus si c'est l'encodage par défaut dans Qt Creator sous Windows.

  7. #7
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Non c'est vrai qu'il est en "system" par défaut, je préfère le passer en UTF-8 directement. Bref en résumé tu dois gérer l'encodage suivant ce que tu as en entrée et en sortie, c'est tout ce qu'on a à te dire.

  8. #8
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    J'ai passé l'encodage en UTF-8, j'ai fais quelques essais mais ça ne marche toujours pas...
    Merci pour l'aide.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  9. #9
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    C'est bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    QString prenom = "Prénom : ";
    QByteArray bytes(prenom.toUtf8());
    file.write(bytes);
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. écrire dans un fichier avec retour à la ligne
    Par qmike dans le forum Langage
    Réponses: 4
    Dernier message: 18/09/2009, 15h44
  2. Impossible d'ouvrir nom de fichier avec des accents
    Par sargei dans le forum Langage
    Réponses: 15
    Dernier message: 10/06/2009, 10h46
  3. Positionner/écrire dans un fichier texte des caractères là où on veut
    Par nicofromChina dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 01/04/2009, 15h42
  4. Réponses: 3
    Dernier message: 24/03/2009, 14h08
  5. comment écrire dans un fichier avec Ant-apache
    Par sidi.elmoctar dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/04/2006, 17h44

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