Docker容器

Docker中使用uWSGI启动Django项目报错 'ascii' codec can't encode characters in position 223-224:

本文主要是介绍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

这篇关于Docker中使用uWSGI启动Django项目报错 'ascii' codec can't encode characters in position 223-224:的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!