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 Discussion :

Lettres accentuées dans les chaînes dans les fichiers source


Sujet :

Qt

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 119
    Points
    119
    Par défaut Lettres accentuées dans les chaînes dans les fichiers source
    Bonjour,

    Je suis confronté au problème de l'encodage du source.
    Mon QT a l'encodage source paramétré en 'System' (je suis sous Win7).
    N'en ayant pas conscience, j'ai écrit tout mon projet en utilisant cet encodage (par défaut dans QT).
    Il se trouve que j'ai besoin d'initialiser des chaînes de caractères qui apparaitront dans des titres de TabWidget, avec des accentuées. Or celles-ci sont affichées avec des grigris.
    J'ai donc besoin de traduire une chaîne encodée en 'System' vers l'encodage utilisé en interne par QString, ce qui se fait normalement par QString::fromXxx.
    Malheureusement (erreur personnelle ou discrimination volontaire? ) je ne trouve pas de fonction fromSystem dans QString...
    Je suis tout de même un peu étonné qu'un tel problème puisse survenir...
    Quelqu'un a forcément trouvé une solution à cela . J'ai conscience qu'elle est peut-être même documentée, mais les recherches (doc, google) que j'ai effectuées ne m'ont pas permis de la trouver. Je suis même un peu surpris par le faible nombre de réponses que j'ai trouvées sur ce sujet...
    Ça doit être particulièrement évident ...

    Quelqu'un pourrait-il m'aider svp?
    Par avance merci

    A bientôt
    M.P.

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonsoir,

    Pour ma part, je fais un QString::fromUtf8() quand mes sources sont encodées en Utf-8. Si cela vous ennuie de le faire sur chacune de vos chaines, vous pouvez utilisez QTextCodec avec setCodecForCStrings(QTextCodec::codecForName("utf-8")).

    Bonne continuation,
    Amnell.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Tout d'abord merci de votre réponse.

    En fait en écrivant ce message, je viens de découvrir où c'était faux.
    Je faisais passer ma chaîne dans une fonction translate que je n'avais pas comprise et qui définissait un paramètre utf8, ce qui faisait croire au traducteur que ma chaîne source est en utf8.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        ui->tabWidget->setTabText(ui->tabWidget->indexOf(wTab), QApplication::translate("MainWindow", name.toAscii(), 0, QApplication::UnicodeUTF8));
    En retirant la traduction, tout est rentré dans l'ordre.
    Je la remettrai correctement paramétrée.

    Désolé de vous avoir dérangé à cause de mon inattention

    Encore merci pour votre attention
    A bientôt
    M.P.

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

Discussions similaires

  1. supprimer les espaces dans une chaîne de caratères.
    Par Empty_body dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2006, 18h43
  2. [Tableaux] Extraire les chiffres dans une chaîne
    Par Digiduck dans le forum Langage
    Réponses: 8
    Dernier message: 16/08/2006, 14h33
  3. Remplacer les accents dans une chaîne
    Par mathieumg dans le forum C
    Réponses: 9
    Dernier message: 23/07/2006, 15h39
  4. [RegEx] Trouver tous les "/mot" dans une chaîne
    Par micatmidog dans le forum Langage
    Réponses: 7
    Dernier message: 31/03/2006, 12h07

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