我在静态文件夹中有一个名为Foo-Bar-BaröFoo.pdf
的静态文件。
当我在浏览器中查看名为/static/Foo-Bar-BaröFoo.pdf
的文件时,它呈现正常。
但这是一个场景,我需要查看该文件是否存在/存在。 我正在使用django存储来检查该文件。
path=u'Foo-Bar-BaröFoo.pdf'
storage.exists(path)
失败了。
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf6' in position 40: ordinal not in range(128)
可以解决这个问题的方法是什么?也许一些编码/解码?
path = path.encode('utf-8')
异常:
SuspiciousFileOperation: Suspicio...8f3f6)',)
答案 0 :(得分:0)
您必须在脚本顶部使用以下编码标识符,并且应该以UTF-8格式保存文件:
# coding=utf-8
如果您使用的是Python 2.x,则还必须使用u
前缀:
path = u'Foo-Bar-BaröFoo.pdf'
PEP-0263详细解释了这一点:
要定义源代码编码,必须使用魔术注释 作为第一个或第二个放入源文件 文件中的行,例如:
# coding=<encoding name>