今天把一个flask的web站点上传到腾讯云debian8.2 64位服务器上,本地测试一切正常,传上去之后各种print全部报错

看着就像是编码不对,我记得在阿里云都没这个问题,然后想起一个细节,在nginx等各种配置文件中,中文都是乱码,那估计是腾讯云的debian系统编码不对。
使用locale命令查看编码,果然腾讯云的都是C,这应该是ASCII的意思。

这是阿里云的:

阿里云的LANG是en_US.UTF-8编码。
知道原因了,那怎么换呢。
sudo vi /etc/default/locale
改成
LANG="en_US.UTF-8"
保存之后 reboot服务器 就可以了
如图:

启动后再使用locale命令,就发现全部都变成en_US.UTF-8了,搞定。
随便 vi /home/test.txt
从网页里面复制一段中文过去,完整显示,已经成功了。
重新运行上传的网站,print也不报错了。
网友评论