我有个问题。 我用collectstatic制作。 但是我有一个css文件的问题。 UnicodeDecodeError:“utf-8”编解码器无法对位置240647中的字节0xe1进行解码:连续字节无效
但是,我不知道为什么。在
这是回溯:
Post-processed 'tiempo_turco/stylesheets/foundation.css' as 'tiempo_turco/stylesheets/foundation.6f8a1d5c4dbc.css'
Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/tulipan/Proyectos/IspanyolHaber/lib/python3.4/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/home/tulipan/Proyectos/IspanyolHaber/lib/python3.4/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/tulipan/Proyectos/IspanyolHaber/lib/python3.4/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/tulipan/Proyectos/IspanyolHaber/lib/python3.4/site-packages/django/core/management/base.py", line 285, in execute
output = self.handle(*args, **options)
File "/home/tulipan/Proyectos/IspanyolHaber/lib/python3.4/site-packages/django/core/management/base.py", line 415, in handle
return self.handle_noargs(**options)
File "/home/tulipan/Proyectos/IspanyolHaber/lib/python3.4/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 173, in handle_noargs
collected = self.collect()
File "/home/tulipan/Proyectos/IspanyolHaber/lib/python3.4/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 119, in collect
for original_path, processed_path, processed in processor:
File "/home/tulipan/Proyectos/IspanyolHaber/lib/python3.4/site-packages/django/contrib/staticfiles/storage.py", line 251, in post_process
content = original_file.read().decode(settings.FILE_CHARSET)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe1 in position 240647: invalid continuation byte
非常感谢你的帮助!在
更新:
我试图修复它删除这个css文件,但是,我删除了,我有同样的错误,我不明白为什么!在
当我在docker容器内使用django pipeline时,也出现了同样的错误。结果发现,由于某种原因,系统使用了POSIX语言环境。我使用了建议的解决方案here,并在system shell中导出了区域设置:
效果很好。另外,请注意,我在docker和外部机器中都这样做了。在
Django有一个很好的将字符串转换为unicode的函数。试试这个函数
可能您的CSS文件并没有真正编码为UTF8,很可能是ISO-8859-1,其中字节0xE1等于
á
(带锐音符的拉丁文小写字母A)。您可以使用file
命令检查文件类型,然后使用iconv
将其转换为UTF8:不确定如何在安装中更新该文件-您说您尝试在未做任何更改的情况下删除它,所以可能需要重新启动服务器?在
如果没有
^{pr2}$iconv
,可以在Python中将其转换为UTF8:相关问题 更多 >
编程相关推荐