web-dev-qa-db-fra.com

Ubuntu 14.04 - Python 3.4 UnicodeDecodeError

Récemment, j'ai fait une mise à jour et j'ai commencé à obtenir ces erreurs dans certains programmes (dans 2 indicateurs pour Unity, en particulier):

File "/opt/extras.ubuntu.com/indicator-stickynotes/indicator-stickynotes.py", line 134, 
in showall self.nset.showall(*args)
File "/opt/extras.ubuntu.com/indicator-stickynotes/stickynotes/backend.py", line 143, in showall
note.show(*args)
File "/opt/extras.ubuntu.com/indicator-stickynotes/stickynotes/backend.py", line 70, in show
self.gui = self.gui_class(note=self)
File "/opt/extras.ubuntu.com/indicator-stickynotes/stickynotes/gui.py", line 60, in __init__
self.css_template = Template(css_file.read())
File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 17: ordinal not in range(128)

Voici mes informations locales:

LANGUAGE=en
LANG=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
PAPERSIZE=letter

Existe-t-il un moyen de configurer Ubuntu pour résoudre ce problème, sans avoir à attendre les mises à jour de ces applications (le cas échéant)?

2
gonzaw

Je posterai la solution que j'ai trouvée, qui a à voir avec les bugs de chaque logiciel.

Ce problème est résolu en ajoutant le codage UTF-8 à des appels spécifiques pour ouvrir les fichiers qui lui manquaient, comme cet exemple, où

f = open(CHANGELOG,'r')

modifications apportées à

f = open(CHANGELOG,'r', encoding = "utf-8")
1
gonzaw