Python编码 - 错误:'latin-1'编解码器无法编码字符

时间:2016-12-08 19:45:27

标签: python django python-2.7

在我的下面的代码段中,我处理了一串文字:Déclaration.png

我将描述作为unicode返回:

return self.render_json(request, {..."description": u''.join((instance.description)),..})

在另一个函数中,我使用上面的描述如下:

if document.description:
    file_name = document.description.split(".")
    file_name = "{}.{}.{}".format(
        "_".join(file_name[:-1]),
        str(document.id),
        file_name[-1]
    )

file_name是:[u'De\u0301claration', u'png']

当我在file_name上尝试.format()时,我收到以下错误:

error: 'latin-1' codec can't encode character u'\u0301' in position 2: ordinal not in range(256)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

" {} {} {}&#34。;是一个字符串,但你试着用unicode填充它。

使用

...
file_name = u"{}.{}.{}".format(
...

代替

还可以看一下这个好话:https://www.youtube.com/watch?v=sgHbC6udIqc