je tente d'exécuter le code simple suivant dans NetBeans 6,9Test programmes de console Python avec des chaînes Unicode dans NetBeans 6.9
s = u"\u00B0 Celsius"
print u"{0}".format(s)
Mais je reçois l'erreur suivante:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 0: ordinal not in range(128)
Voici le résultat: 'å ° Celsius'. C'est probablement un problème de console NetBeans. Faire cela directement sur la console (ou écrire directement dans un fichier) ne produit pas le '' 'supplémentaire. – Kit
NetBeans ne veut pas que sa sortie soit encodée dans utf-8. Basé sur le résultat que vous avez là, il semble vouloir ISO-8859-1 (et vous pouvez encoder à cela pour voir les bons résultats). C'est probablement configurable, même si je ne connais pas NetBeans moi-même. – habnabit
L'écriture dans un fichier comme dans 'some_file.write (u '{0}'. (S))' provoque la même erreur, sauf si j'utilise aussi '.encode ('utf-8')'. Encodage à ISO-8859-1 fonctionne assez bien, cependant. – Kit