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 :

Les caractères français (É, è, à) ne s'affichent pas comme il le faut


Sujet :

Qt

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Les caractères français (É, è, à) ne s'affichent pas comme il le faut
    Bonjour,

    J'ai un problème bizarre. J'ai un système embarqué Linux, avec QT 4.7 (touch screen) et MySQL 5.7.8. Dans ma base de donnée, j'ai des entrées qui contiennent des caractères spéciaux: é, à, À, etc

    Alors, je démarre mon processus mysqld en premier, ensuite l'application QT qui elle ira ouvrir une session pour accéder à la base de données.

    Cette séquence me donne une corruption des caractères spéciaux. Par exemple, le "É" devient "Ã%".

    Si je redémarre le processus mysqld, tous les caractères spéciaux s'affichent comme il le faut.

    D'après moi, mon application QT est capable de gérer les caractères spéciaux, mais je dois redémarrer la base de données pour que ça fonctionne!

    Je voudrais bien démarrer mon application QT avant celui de mysqld, mais j'ai besoin d'accéder à la base de donnée et parce qu'elle n'est pas démarrée, ça me donne une erreur

    Des idées pourquoi ce comportement? Merci à l'avance


    J'inclus quelques infos de ma base de données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    mysql> show variables like "collation_database";                            
    +--------------------+-------------------+
    | Variable_name      | Value             |
    +--------------------+-------------------+
    | collation_database | latin1_swedish_ci |
    +--------------------+-------------------+
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    mysql> show variables like "%character%"; show variables like "%collation%";
    +--------------------------+-------------------------------------------------+
    | Variable_name            | Value                                           |
    +--------------------------+-------------------------------------------------+
    | character_set_client     | latin1                                          |
    | character_set_connection | latin1                                          |
    | character_set_database   | latin1                                          |
    | character_set_filesystem | binary                                          |
    | character_set_results    | latin1                                          |
    | character_set_server     | latin1                                          |
    | character_set_system     | utf8                                            |
    | character_sets_dir       | /mnt/data/part1/usr/local/mysql/share/charsets/ |
    +--------------------------+-------------------------------------------------+
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    +----------------------+-------------------+
    | Variable_name        | Value             |
    +----------------------+-------------------+
    | collation_connection | latin1_swedish_ci |
    | collation_database   | latin1_swedish_ci |
    | collation_server     | latin1_swedish_ci |
    +----------------------+-------------------+

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Parce que 1) tu n'es pas au courant des MBCS et unicode (UTF8, UTF16 (<- et encore il y en a 2) et UTF32) 2) tu n'as aucune rigueur à propos de ces encodages et des conversions qui doivent survenir

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par foetus Voir le message
    Parce que 1) tu n'es pas au courant des MBCS et unicode (UTF8, UTF16 (<- et encore il y en a 2) et UTF32) 2) tu n'as aucune rigueur à propos de ces encodages et des conversions qui doivent survenir
    Ok, je ne suis pas un expert sur le sujet (QT et unicode), alors peux-tu m'expliquer pourquoi dépendant la séquence de démarrage, QT affiche bien ou pas les accents?

    Sinon, comment je peux faire pour que mon application QT 4.8 puisse bien gérer le tout sans changer quoi que ce soit dans ma base de données? Avec PHP, je n'ai qu'à mettre le charset à UTF8, quoi faire avec QT?

    J'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    Pour le fun, j'ai converti ce qui venait de la base de données (QVariant) en hexadécimal (toHex). Ça semble correct, sauf pour le "É" où ce n'est pas le bon code UTF8!! Au lieu de 0xC3 0x89 (c389), c'est 0xC3 0x3F!

    Merci à l'avance

Discussions similaires

  1. [Encodage] les caractère spéciaux ne s'affiche pas dans les balise H
    Par Nad84jia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 23/11/2013, 15h37
  2. Réponses: 4
    Dernier message: 31/01/2009, 13h35
  3. [RegEx] URL et tags qui ne s'affichent pas comme il le faut
    Par Bruno.C dans le forum Langage
    Réponses: 2
    Dernier message: 26/01/2008, 13h32
  4. Réponses: 3
    Dernier message: 19/02/2007, 23h35

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