【问题标题】:UnicodeDecodeError in DjangoDjango中的UnicodeDecodeError
【发布时间】:2013-04-01 04:55:24
【问题描述】:

我遇到了这个问题:即使我在views.py 的顶部添加了# -*- coding: utf-8 -*-,我也会收到UnicodeDecodeError。在我看来,我该如何处理那些德国变音符号ü,ö,ä?我正在尝试在其内容中发送带有德国变音符号的电子邮件。

请帮我解决这个问题。我希望以原始形式正确显示德语变音符号。我可以像ae 一样写ä,但这是我想要避免的。

我用谷歌搜索了很多,但找不到任何对我有帮助的东西

错误
UnicodeDecodeError at /location-save/ ('ascii', ' kannst Du \n diese Location einsehen. M\xc3\xb6glichkeiten zur Bearbeitung der Locations werden bald zur Verfuegung stehen. \n\n Herzliche Gruesse, \n Dein LocateYourDate Team', 55, 56, 'ordinal not在范围内(128)')

无法编码/解码的字符串是:en。 M��glic

【问题讨论】:

  • 你的文本编辑器真的使用 UTF-8 吗?
  • @DietrichEpp,我正在使用 aptana,我不知道这个,我可以在某个地方看到这个吗?
  • UnicodeDecodeError 与您在文件中使用非 ascii 字符无关,而是与您对它们做什么有关。您需要显示完整的错误消息,因为这可能是由无数不同的事情引起的。
  • 对不起,我不清楚。当我说错误消息时,我的意思是回溯。现在是早上 6 点,我没有喝咖啡。我的错。
  • @LennartRegebro,:))。没问题。我现在也将发布回溯

标签: python unicode utf-8


【解决方案1】:

您收到 UnicodeDecodeError 是因为您试图将非 ascii 字节字符串(在 Python 2 中称为 str 在 Python 3 中称为 bytes)转换为 Unicode 字符串(在 Python 2 中称为 Unicode 和 @ 987654326@ 在 Python 3) 中没有指定它的编码。

如果没有完整的追溯,不可能比这更有帮助。

我猜你正在使用 Python 2,你做了这样的事情:

mystring = 'Det här är ju helt omöjligt'

你可能想要的是这个:

mystring = u'Det här är ju helt omöjligt'

注意 u'',使其变成 Unicode 字符串。

【讨论】:

  • 谢谢,请在问题中查看我的错误消息更新。我现在该怎么办?
  • @doniyor:说实话,你需要了解 Unicode 在 Python 中的工作原理。所以你需要阅读文档,也许还有一些有用的博文。从这两个开始:regebro.wordpress.com/2011/03/23/…farmdev.com/talks/unicode
  • 非常好。很大的帮助。老实说,我很懒惰阅读编码:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-18
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
  • 2013-09-27
相关资源
最近更新 更多