zoukankan      html  css  js  c++  java
  • 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 「软件老王」,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!

  • 相关阅读:
    并发和多线程(二)--启动和中断线程(Interrupt)的正确姿势
    并发和多线程(一)--创建线程的方式
    MySQL系列(十二)--如何设计一个关系型数据库(基本思路)
    Elasticsearch系列(二)--query、filter、aggregations
    Spark-python入门
    python中的Turtle模块
    pytorch显示网络结构
    风格迁移(2)-Fast Style Transfer
    风格迁移(1)-格拉姆矩阵
    使用GAN生成图片
  • 原文地址:https://www.cnblogs.com/ruanjianlaowang/p/11397828.html
Copyright © 2011-2022 走看看