使用pdb时出现Django UnicodeDecodeError

时间:2010-09-18 10:46:35

标签: django unicode pdb

我每次放一个时都会注意到:

import pdb; pdb.set_trace()

在My Spanish Django项目中,如果我在字符串中有一个特定的Unicode字符,如:

Gracias por tu colaboración

我在Django Debug窗口中得到一个带有'notdinal not in range(128)'的UnicodeDecodeError。问题是我无法轻松调试我的应用程序。另一方面,如果我使用ipdb,我会得到:

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

我已经google搜索找到了解决方案,但看起来我是唯一一个遇到此问题的人:)

2 个答案:

答案 0 :(得分:0)

我发现另一个程序员已将此添加到视图文件的开头,这会破坏pdb和ipdb的行为,正如我所描述的那样:

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

删除或评论这些行可以解决问题,谢谢。

答案 1 :(得分:0)

通常,如果文件中包含非ascii字符(注释或字符串中的mabe),则会显示该错误。 如果你尝试在没有ipdb / pdb的情况下打开它,Django将显示一个追溯