Django,nginx,gunicorn,supervisor:UnicodeEncodeError - 上传非拉丁命名文件时

Posted

技术标签:

【中文标题】Django,nginx,gunicorn,supervisor:UnicodeEncodeError - 上传非拉丁命名文件时【英文标题】:Django, nginx, gunicorn,supervisor: UnicodeEncodeError - when uploading non-latin named file 【发布时间】:2015-03-24 03:02:07 【问题描述】:

当我上传一些非拉丁名称的文件时出现错误:

UnicodeEncodeError at /profiles/
'ascii' codec can't encode characters in position 39-41: ordinal not in range(128)

我已尝试更改主管环境它是如何描述的 here,但它没有帮助。我在 /etc/supervisor/supervisord.conf 中添加了这一行:

[supervisord]
environment=LANG="ru_RU.utf8", LC_LANG="ru_RU.UTF-8", LC_ALL="ru_RU.UTF-8"
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor            ; ('AUTO' child log dir, default $TEMP)

当我将此行放入程序特定的 conf 文件时,它也没有开始工作。

我已经尝试弄清楚我的编码,所以我在模板上下文中添加了这个变量:

context['locale'] = sys.getfilesystemencoding()

在模板中显示“ANSI_X3.4-1968”

请有人解释一下为什么改变环境没有解决问题?

【问题讨论】:

问题解决了吗?我在 Ubuntu 上遇到了同样的问题。 你好@RankoR,不,我们刚刚迁移到 Python 3 %) 【参考方案1】:

确保您已完全重新启动 supervisord,如 here 所述。希望对您有所帮助!

【讨论】:

以上是关于Django,nginx,gunicorn,supervisor:UnicodeEncodeError - 上传非拉丁命名文件时的主要内容,如果未能解决你的问题,请参考以下文章

Django-Gunicorn-Nginx 部署没有通过 Nginx

Django/gunicorn/nginx: 403 禁止

Django、Nginx、Gunicorn 和 AngularJS 应用程序结构

Nginx Django 和 Gunicorn。 Gunicorn 袜子文件丢失?

为啥 nginx 不会用 django 和 gunicorn 显示静态内容?

Django,Nginx,Gunicorn。 Ubuntu 16.04 错误