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 :

[QString] Gestion des accents

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 84
    Par défaut [QString] Gestion des accents
    Bonjour,

    Je me retrouve face à un problème qui commence à me faire tourner en rond.
    Je souhaite charger une image dont le chemin pourra être renseigné par l'utilisateur.

    J'ai le bout de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    QPixmap image;
    image.load(QString::fromUtf8("C:/Users/Public/Pictures/Sample Pictures/Koala.jpg"));
    Ce dernier fonctionne bien.
    Par contre si j'insère un caractère accentué, le chargement de l'image ne se réalise pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    QPixmap image;
    image.load(QString::fromUtf8("C:/Users/Public/Pictures/Sample Pictures/Désert.jpg"));
    Je suis sous Windows.
    J'ai parcouru le forum mais rien ne m'a apporté de solution.

    Et surtout je ne comprend pas ce qui ce passe derrière pour ne pas prendre en compte cet accent.

    Mon éditeur Qt utilise l'encodage suivant : ISO-8859-13. J'ai essayé avec UTF-8 mais rien ne change.

    Cordialement,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    de Guillaume1701 :
    (...)
    Ce dernier fonctionne bien.
    Par contre si j'insère un caractère accentué, le chargement de l'image ne se réalise pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QPixmap image;
    image.load(QString::fromUtf8("C:/Users/Public/Pictures/Sample Pictures/Désert.jpg"));
    ...le plus simple, serait de renommer ton image Désert.jpf en Desert.jpg....
    Dernière modification par Invité ; 03/09/2017 à 17h52.

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut


    Effectivement, penser à l'encodage de ton fichier source est une très bonne idée. Sinon, Windows utilise de l'UCS2 pour encoder ses noms de fichier (du moins pour NTFS), si ma mémoire est bonne : peut-être creuser de ce côté-là ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    En changeant le format d'encodage du fichier en UTF-8 avec BOM cela devrait fonctionner.
    Sinon ISO-8859-13 est peut être la locale de compilation, il faudrait utiliser la fonction QString::fromLocal8Bit().
    On peut aussi forcer le texte en UTF-8 avec le préfixe u8 image.load( QString::fromUtf8( u8"C:/Users/Public/Pictures/Sample Pictures/Désert.jpg" ) );.
    Il est vrai que les caractères accentués sous Windows en C++ est un vrai problème.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/10/2010, 00h23
  2. [MySQL5] gestion des accents avec like
    Par mdr_cedrick dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/06/2009, 16h17
  3. [EZPDF] gestion des accents
    Par cyreel dans le forum Bibliothèques et frameworks
    Réponses: 13
    Dernier message: 26/06/2007, 18h59
  4. [Regex] gestion des accents dans un mot
    Par joseph_p dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 10/05/2006, 09h04
  5. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41

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