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參數才可以。


I’m 「軟件老王」,如果覺得還可以的話,關注下唄,后續更新秒知!歡迎討論區、同名公眾號留言交流!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM