侧边栏壁纸
博主头像
学海无涯博主等级

学无止境

  • 累计撰写 321 篇文章
  • 累计创建 80 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Django 使用uwsgi 部署在 nginx上,中文乱码

利刃
2019-07-07 / 0 评论 / 0 点赞 / 4 阅读 / 714 字
温馨提示:
本文最后更新于 2024-08-13,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

众所周知,python3相比python2的一个最大的改变就是str统一是unicode编码的,带有中文的字符串再也不用写成  u'中文' 这么麻烦,但是最近却遇到了 print('中文')  报错。

UnicodeEncodeError: 'ascii' codec can't encode characters in position 157-158: ordinal not in range(128)

这个问题只发生在生产环境上,本地环境没有问题。那么首先考虑的就是生产环境和本地环境差别在哪里了-----启动方式。

生产环境上使用了 uWSGI 来做服务器处理web请求,而本地环境不是。

生产环境系统中尝试打印出 stdout 的编码:

import sys
print(sys.stdout.encoding)

# ANSI_X3.4-1968

解决方法:

在 uwsgi 的配置文件中加入一句,用来设置python使用的编码格式。

env = LC_CTYPE=zh_CN.utf-8





2019-7-7 20:31:8

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区