什么时候
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;
,都不能解决这个问题。你知道吗
解决方案隐藏在
/etc/apache2/envvars
:相关问题 更多 >
编程相关推荐