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

PyQt Python Discussion :

Qt3 et caractères accentués


Sujet :

PyQt Python

  1. #1
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Qt3 et caractères accentués
    Bonjour,

    Je suis en train de développer une petite appli en Python et QT3 pour la gestion graphique des ACL sur un serveur Samba. Pour afficher l'arborescence des partages samba, j'utilise simplement un morceau de code trouvé sur le site www.commandprompt.com qui fonctionne très bien.
    Le seul vrai hic, c'est l'affichage des caractères : qu'un fichier ou un répértoire contienne des accents, il apparaît dans le listView bourré de signes étranges alors que la sortie console, elle, est propre. Par exemple, 'répertoire' donne bien 'répertoire' sur la console mais quelque chose comme 'rA¤pertoire' dans le listView.
    Je me doute bien qu'il s'agit d'un problème d'encodage/décodage mais j'ai beau tenter de convertir les chaînes avant leur affichage, cela ne marche pas : au mieux, cela ne change rien, au pire cela provoque des erreurs d'encodage. La doc que j'ai pu consulter ne m'a jusqu'à présent pas beaucoup aidé.
    Y'a-t-il un encodage à réaliser sur les QListViewItem ? Et si oui, comment ?
    Ci-joint, un extrait du code problématique.
    Merci.
    Sébastien Weber.
    Fichiers attachés Fichiers attachés

  2. #2
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Astuce
    Re,

    Finalement, à force de tripatouiller le code dans tous les sens, j'ai trouvé une solution. Je suis à peu près certain qu'elle scandaliserait des puristes, mais elle fonctionne.
    J'ai ajouté deux fonctions à la classe arborescence(QListViewItem) (voir pièce jointe test2.py) :

    def coding(s):
    if type(s) == 'str':
    s = QString(unicode(s, 'utf-8'))
    return s
    def decoding(s):
    return unicode(s)

    coding(s) est appelée lors de l'initialisation : self.f = self.coding(name) ; decoding(s) sitôt que l'application a besoin d'une chaîne 'pure' (notamment pour que les fonctions os et os.path puissent opérer).

    Cela dit, je serai ravi s'il existait une solution moins artisanale et plus portable.

    SW.
    Fichiers attachés Fichiers attachés

  3. #3
    Membre confirmé Avatar de cboudy
    Profil pro
    Ingénieur informatique industrielle
    Inscrit en
    Avril 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique industrielle
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 406
    Points : 616
    Points
    616
    Par défaut
    as tu essayé de tout simplement modifier l'encodage utilisé au niveau du script ?

  4. #4
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai essayé, et dans tous les sens encore : ça ne passait pas.
    La solution que j'ai trouvée presque par hasard fonctionne et elle me contentera.

    Merci.

    SW

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

Discussions similaires

  1. Caractères accentués avec <html:link>
    Par papysam dans le forum Struts 1
    Réponses: 5
    Dernier message: 25/05/2007, 15h18
  2. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12
  3. Chaînes avec des caractères accentués dans Interbase
    Par François Marliac dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/03/2004, 22h39
  4. [PostgreSQL] Les caractères accentués ?
    Par yacomor dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/02/2003, 16h30
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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