linux python 中文乱码如何解决
linux python中文乱码的解决方法:1、查看matplotlib字体位置;2、上传字体到服务器;3、删除字体缓存;4、重启python应用即可。
本文操作环境:linux5.9.8系统,Anaconda3,Dell G3电脑。
linux下python中文乱码解决方案
1. 场景描述
linux服务器下安装了Anaconda3,执行Pyhton的K-means算法,结果出现如下图的中文字符乱码。上次已经解决了,忘记记录解决流程了,这次配置了一台新的服务器,又出现,默认不配置的话matplotlib画图就会乱码,这次把解决过程记录下,希望能帮助自己和有需要的朋友。
2. 解决方案
网上有好几个解决方案,只介绍自己实战可行的。
1. 查看matplotlib字体位置
python import matplotlib print(matplotlib.matplotlib_fname()) #记录下来,字体位置我的是:/home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc exit()
2. 上传字体到服务器
cd /home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf 通过ftp或者其他方式,将字体传上去,我们传的是:simhei.ttf
3. 删除字体缓存
cd ~/.cache/matplotlib rm -rf *
4. 重启python应用
nohup python k-means.py &
说明: 假如还没生效,再更改个配置文件试试。(我们以前没更改这个配置文件,但是这次发生了个插曲,这次用的jmeter测试,一直还是乱码,后来改了这个还是不行,原来是jmeter的问题)
cd /home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data vi matplotlibrc font.family : sans-serif #去掉前面的# font.serif : simhei, DejaVu Serif, #新加了simhei
插曲
这次用的jmeter测试,发现都更改了还是乱码,后来jmeter的请求中增加了utf-8参数才可以。
推荐学习:《linux视频教程》