Python/Django UnicodeDecodeError 'ascii' 编解码器无法解码

标签 python django encoding utf-8

我得到了 views.py:

# -*- coding: UTF-8 -*-
def myview(request):
    object = MyObject.objects.get(id = 1)
    testvar = u"test %s" % object.myfield

我得到了错误:

UnicodeDecodeError at /myurl
'ascii' codec can't decode byte 0xc4 in position 1: ordinal not in range(128)

Unicode error hint
The string that could not be encoded/decoded was: J������

J������ - 我的字段值 在数据库中这个字段是 utf8_bin。 在模型中这个字段是 CharField

sys.getfilesystemencoding() #-  UTF-8
sys.getdefaultencoding() #- ascii
sys.getdefaultencoding() #- ascii
locale.getdefaultlocale() #- ('en_US', 'UTF-8')
locale.getlocale() #- (None, None)

python 2.7.6 Django 1.5.8

我也试过:

object.myfield.decode("utf8")

出现错误:

UnicodeEncodeError at /myurl
'ascii' codec can't encode characters in position 6-10: ordinal not in range(128)

我有这个对象的管理方面 - 一切都很完美,即使使用 utf-8 符号也是如此。

如果我打印出 object.myfield 的类型,那么我会得到:

<type 'str'>

最佳答案

试试这个

def myview(request):
    object = MyObject.objects.get(id = 1)
    testvar = u"test %s" % object.myfield.**decode('utf-8')**

关于Python/Django UnicodeDecodeError 'ascii' 编解码器无法解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27253236/

相关文章:

python - pytorch+tensorboard错误 "AttributeError: ' Tensor'对象没有属性 'items'“

python - Alembic:如何迁移模型中的自定义类型?

python - Django 非提交模型对象和提交模型对象的交集

java - log4j 如何在java代码中设置FileAppender编码?

c# - 为什么编码后的 key 不等于原始 key ?

python - 使用 tweepy 和多个 API key 获取 Twitter 关注者

django loaddata - 跳过无效行(DataError)

python - Django JSONField

python - 普通的 python 字符串使用什么编码?

python - 如何在 Pandas 数据框上应用定义的函数