Django FileField 不适用于德语 "Umlaut" (ä, ö, ü)

Django FileField not working with german "Umlaut" (ä, ö, ü)

我使用 django、nginx 和 gunicorn。

在我的模型中,我有一个 FileField,它在生产中无法使用德语 "Umlaute"。

当我尝试使用 "Umlaut":

在 /admin 中上传文件(select 文件并推送 "save")
UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 27: ordinal not in range(128)

models.py

class wiki(models.Model):

    headline = models.CharField(max_length=255)
    file = models.FileField(null=True, blank=True)

    def __str__(self):
        return self.headline

在本地机器上的开发 Web 服务器上 (./manage runserver) 它工作正常,所以我认为它与 gunicorn 或 nginx 有关并做了以下更改但没有成功:

/etc/systemd/system/gunicorn.服务:

(添加了 --env LANG=de_DE.UTF-8)

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=django
Group=www-data
WorkingDirectory=/opt/django/project
ExecStart=/opt/django/bin/python3 /opt/django/bin/gunicorn --env LANG=de_DE.UTF-8 --workers 3 --bind unix:/opt/django/gunicorn.sock uhd.wsgi:application

[Install]
WantedBy=multi-user.target

/etc/nginx/sites-available/domain

server {
    charset UTF-8;
}

以下是一些我认为可能有用的信息:

$ 语言环境

LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=C.UTF-8

cat /etc/*-release

PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

感谢您的帮助。如果需要更多信息,请告诉我。

我从 Debian Jessie(旧稳定版)升级到 Debian Stretch(稳定版),现在一切正常。

Python 已从 Python 3.4.2 升级到 Python 3.5.3。 $ locale 仍然给出相同的输出,gunicorn 和 nginx 仍然与问题中显示的相同。

$ cat /etc/*-release

PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"