2010-09-18 20 views
2

Je l'ai remarqué à chaque fois que je mets un:Django UnicodeDecodeError lors de l'utilisation pdb

import pdb; pdb.set_trace() 

Mon projet espagnol Django, si j'ai un caractère Unicode spécifique dans une chaîne comme:

Gracias por tu colaboración 

Je reçois un UnicodeDecodeError avec un 'ordinal not in range (128)' dans une fenêtre Django Debug. Le problème est que je ne peux pas déboguer facilement mon application. D'autre part Si je ipdb je reçois des choses comme:

ERROR - failed to write data to stream: <open file '<stdout>', mode 'w' at 0x7f3d43e34140> 

J'ai googlé pour trouver une solution, mais il semble que je suis le seul à avoir ce problème :)

+0

Le code fonctionne-t-il sans pdb? –

+0

C'est en fait ce qui me choque le plus, sans pdb ça fonctionne parfaitement. – maraujop

Répondre

0

J'ai trouvé qu'un autre programmeur avait ajouté ceci au début du fichier de vues, ce comportement casse pdb et ipdb, comme je l'ai:

import sys, codecs 
sys.stdout = codecs.getwriter('utf-8')(sys.stdout) 

Retrait ou ces lignes de commentaires fixes la question, merci.

0

Habituellement, cette erreur apparaît si vous avez des caractères non-ascii dans votre fichier (mabe dans un commentaire ou une chaîne). Si vous essayez de l'ouvrir sans ipdb/pdb Django affichera un retraçage