Joueb.com
Envie de créer un weblog ?
ViaBloga
Le nec plus ultra pour créer un site web.
Débarrassez vous de cette publicité : participez ! :O)

Samedi (21/05/05)
Python : UnicodeError : ASCII encoding error : ordinal not in range(128)
Première publication : mercredi 29 septembre 2004.

J’ai souvent rencontré cette erreur, mais sans jamais me souvenir comment la corriger...

Elle provient du fait que, par défaut, python essaie d’encoder les chaînes Unicode en ASCII pour écrire dans un fichier (qui peut être la sortie ou l’erreur standard). Il faut remplacer l’encodage par défaut qui est ’ASCII’ par ’iso-8859-1’.

Ce changement se fait dans le fichier site.py à la racine du répertoire de python.

Sur ma RedHat 9.0, j’ai remplacé la ligne :

encoding = "ascii" # Default value set by PyUnicode_Init()

par celle-ci :

encoding = "iso-8859-1" # Default value set by PyUnicode_Init()

Voir le chapitre 5.4 de Dive into Python

En revanche, si on n’a pas les droits d’administrateur sur la machine, je ne sais pas comment on fait...

Ecrit par blacherez, à 03:25 dans la rubrique Programmation.
Lire l'article ! (suite de l'article + 0 commentaires)