Django UnicodeDecodeError仅适用于apache/nginx

2024-05-19 08:59:12 发布

您现在位置:Python中文网/ 问答频道 /正文

什么时候

locale.getlocale()
locale.getdefaultlocale()
sys.getfilesystemencoding()
sys.getdefaultencoding()

是通过manage.py shell运行的,我明白了

('en_US', 'UTF-8')
('en_US', 'UTF-8')
utf-8
utf-8

适合我的区域设置:

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

但是,当请求由Apache/Nginx处理时,它会生成:

(None, None)
(None, None)
ascii
utf-8

这导致在我的网站上出现了几个UnicodeDecodeErrors,我没有找到不匹配的原因。 无论是为Apache设置AddDefaultCharset utf-8,还是为Nginx设置charset utf-8;,都不能解决这个问题。你知道吗


Tags: nonemanageapachesysnginxlocaleutfen

热门问题