Docker中使用uWSGI启动Django项目报错 'ascii' codec can't encode characters in position 223-224:
作者:互联网
运行环境
- Docker
- uWSGI
- Django
问题出现
使用python manage.py runserver
启动项目,没有出现这个问题,但是使用uWSGI启动项目后,接受到POST请求中带有中文,就报500错误。开启DEBUG模式,捕捉到错误提示为
'ascii' codec can't encode characters in position 223-224: ordinal not in range(128)
原因
系统语言不是utf-8
的编码
查看当前本机编码
locale
可以发现值都是POSIX
解决方法
-
安装
en_US.UTF-8
locale-gen en_US.UTF-8
如果出现错误,需要先安装
locale-gen
apt-get install locale-gen -y
-
设置系统编码
编辑/etc/profile
,在文件最末尾添加如下内容:export LC_ALL=en.US.UTF-8
-
重新编译
source /etc/profile
参考文章:https://blog.csdn.net/qq_35371031/article/details/105602321
标签:ordinal,en,UTF,locale,US,报错,223,gen,uWSGI 来源: https://www.cnblogs.com/ericdee/p/16299317.html