Ubutu中文编码问题 ascii’ codec can’t encode character

问题

  • 终端显示中文文本正常, flask程序内打印确无法输出
  • ascii’ codec can’t encode character
  • setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
  • 一般出现在新机器上,比如docker中
  • 这个问题已经遇见了两次了!!!

解决方案

  • 是locale设置的问题
dpkg-reconfigure locales
apt-get -y install language-pack-zh-hans
export LC_ALL=zh_CN.UTF-8

locale 测试

root@479ac313b09a:/opt/app# export LC_ALL=en_US.UTF-8
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

root@479ac313b09a:/opt/app# date
Sun Aug  2 14:13:24 UTC 2020

root@479ac313b09a:/opt/app# export LC_ALL=zh_CN.UTF_8
bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF_8)

root@479ac313b09a:/opt/app# date
2020年 08月 02日 星期日 14:13:35 UTC

参考链接

  1. 解决编码问题
    https://blog.csdn.net/zhengrukai/article/details/53809416
  2. locale的作用 https://blog.csdn.net/tongxinhaonan/article/details/64905714

你可能感兴趣的:(linux)