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

Python Discussion :

Unicode Decode Error


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Par défaut Unicode Decode Error
    Bonjour

    J'ai un problème dans mon code: je cherche à créer un jeu de combat (sans image animée) dans lequel le joueur peut choisir ses actions.
    Le problème c'est que quand je clique sur ladite action, il me met:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 1470, in __call__
        return self.func(*args)
      File "D:\Documents\DOSSIERS\Cédric\Dropbox\3LACAMBRE-SORIA-LAPLANCHE\Projet\Interfaces\intercombat.py", line 195, in afficher1
        afficher(1)
      File "D:\Documents\DOSSIERS\Cédric\Dropbox\3LACAMBRE-SORIA-LAPLANCHE\Projet\Interfaces\intercombat.py", line 238, in afficher
        Laff = Label(Jpc, text = Mot)
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 2537, in __init__
        Widget.__init__(self, master, 'label', cnf, kw)
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 2036, in __init__
        (widgetName, self._w) + extra + self._options(cnf))
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 1121, in _options
        nv.append(_stringify(item))
      File "C:\Python27\lib\lib-tk\Tkinter.py", line 80, in _stringify
        value = unicode(value)
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 16: ordinal not in range(128)
    Je ne comprends pas vraiment ce que cela signifie... Comment remédier à ce problème?

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Par défaut
    Salut,

    ça signifie que y a un soucis d'encodage quelque part (peut être aux alentours de la ligne 195 du fichier intercombat.py), probablement du à un caractère accentué ou tout autre caractère non ASCII.
    il va donc probablement falloir décoder la chaine qui pose problème en utilisant utf-8 plutôt qu'ASCII.

    difficile d'en dire plus sans voir le code qui cause l'erreur.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Par défaut
    Ah merci cela fonctionne lorsque j'utilise # -*- coding: utf8 -*-

    Mais n'y a-t-il pas un risque que cet encoding lise mal le reste du code? J'utilise beaucoup d'importations afin que mon fichier soit plus séquencé...

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Par défaut
    Salut,

    si tu encode bien ton fichier en utf-8 et que tu lui colle un "# -*- coding: utf-8 -*-" au début, aucun soucis à craindre a priori, même si tu importes d'autre module non utf-8.

    à vrai dire j'ai jamais testé spécifiquement ce cas (tu peux le faire si tu veux une réponse sûre), mais j'ai jamais eu de soucis à ce niveau.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Par défaut
    Et bien en fait ça a l'air de marcher...

    Merci beaucoup!!!

Discussions similaires

  1. [Python 2.X] Unicode Encode Error en ecriture fichier txt
    Par Thierry_V dans le forum Général Python
    Réponses: 7
    Dernier message: 08/07/2014, 19h26
  2. unicode encode error
    Par maissaab dans le forum Général Python
    Réponses: 3
    Dernier message: 03/09/2011, 19h07
  3. decoding Unicode is not supported
    Par naiadeKaren dans le forum Général Python
    Réponses: 6
    Dernier message: 20/07/2011, 06h47
  4. [vc++7]UNICODE et error LNK2019
    Par Dos dans le forum Visual C++
    Réponses: 4
    Dernier message: 06/10/2006, 19h41
  5. Probleme python 2.4 et matplotlib : unicode encode error
    Par patfrat dans le forum Calcul scientifique
    Réponses: 1
    Dernier message: 12/06/2005, 00h30

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