【发布时间】:2012-04-05 16:07:54
【问题描述】:
当用户提交表单数据时,有时我会在我的 django 网站中收到如下 unicode 错误。
"'ascii' 编解码器无法对位置 109 中的字符 u'\u2014' 进行编码:序数不在范围内 (128)"
如何在我的系统中重现 unicode 错误
非常感谢。
【问题讨论】:
当用户提交表单数据时,有时我会在我的 django 网站中收到如下 unicode 错误。
"'ascii' 编解码器无法对位置 109 中的字符 u'\u2014' 进行编码:序数不在范围内 (128)"
如何在我的系统中重现 unicode 错误
非常感谢。
【问题讨论】:
提交导致错误的表单,其中包含 unicode 字符(例如é)!
这是 Django 项目中非常常见的错误,它几乎总是意味着您在某处调用 str()。 Django 在内部使用 unicode 字符串,但是当您调用 str() 时,您是在要求 Python 给您一个 ascii 字符串,但此消息失败。
如果您向我们提供更多信息,我们将能够为您提供进一步的帮助。
祝你好运!
【讨论】:
__unicode__ 方法中返回 str。
您是否在视图中留下了任何调试打印信息?这将导致转换为控制台的编码,这可能是导致此错误的 ascii。
【讨论】: