« Programmation Python/Problèmes connus » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 13 :
 
== Messages d'erreur ==
 
=== 'ascii' codec can't encode characters in position ===
Ajouter <code>.encode('utf-8')</code> après la variable entière (après concaténation).
 
=== ImportError: bad magic number in... ===
Ligne 62 ⟶ 59 :
 
=== UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position x: ordinal not in range(128) ===
ConvertirEn Python 2.7 sur Pywikibot, convertir la variable avec <code>.encode(config.console_encoding, 'replace')</code> (passe partout en remplaçant les caractères inconnus par des ? en console).
 
Sinon, ne pas utiliser <code>str(x)</code>, par exemple au profit de <code>x.__getattr__('name').encode('utf-8')</code>.
 
AjouterSinon, ajouter <code>.encode('utf-8')</code> après la variable entière (après concaténation).
 
=== UnicodeEncodeError: 'charmap' codec can't encode characters in position x-y: character maps to <undefined> ===
Voir l'erreur précédente.
Utiliser <code>str()</code> revient à provoquer l'erreur précédente. En python 3, ajouter <code>.encode('utf-8')</code> peut marcher avec certains caractères en console, mais <code>.encode(config.console_encoding, 'replace')</code> passe partout en remplaçant les inconnus par des ?.
 
=== UnicodeWarning: Unicode unequal comparison failed to convert both arguments to Unicode - interpreting them as being unequal ===