linux python中文亂碼的解決方法:1、查看matplotlib字體位置;2、上傳字體到服務器;3、刪除字體緩存;4、重啟python應用即可。
本文操作環(huán)境:linux5.9.8系統(tǒng),anaconda3,dell g3電腦。
linux python 中文亂碼如何解決?
linux下python中文亂碼解決方案
1. 場景描述
linux服務器下安裝了anaconda3,執(zhí)行pyhton的k-means算法,結果出現(xiàn)如下圖的中文字符亂碼。上次已經(jīng)解決了,忘記記錄解決流程了,這次配置了一臺新的服務器,又出現(xiàn),默認不配置的話matplotlib畫圖就會亂碼,這次把解決過程記錄下,希望能幫助自己和有需要的朋友。
2. 解決方案
網(wǎng)上有好幾個解決方案,只介紹自己實戰(zhàn)可行的。
1. 查看matplotlib字體位置
pythonimport matplotlib print(matplotlib.matplotlib_fname())#記錄下來,字體位置我的是:/home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrcexit()
2. 上傳字體到服務器
cd /home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf通過ftp或者其他方式,將字體傳上去,我們傳的是:simhei.ttf
3. 刪除字體緩存
cd ~/.cache/matplotlibrm -rf *
4. 重啟python應用
nohup python k-means.py &
說明: 假如還沒生效,再更改個配置文件試試。(我們以前沒更改這個配置文件,但是這次發(fā)生了個插曲,這次用的jmeter測試,一直還是亂碼,后來改了這個還是不行,原來是jmeter的問題)
cd /home/ruanjianlaowang/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-datavi matplotlibrc font.family : sans-serif #去掉前面的#font.serif : simhei, dejavu serif, #新加了simhei
插曲
這次用的jmeter測試,發(fā)現(xiàn)都更改了還是亂碼,后來jmeter的請求中增加了utf-8參數(shù)才可以。
推薦學習:《linux視頻教程》