python 中文乱码解决问题

 

在各种第三方库的测试使用中,有些电脑会有字符集不兼容的问题,比如request的使用,可能会出现此问题

 

 

 

这个问题只需要在你所运行的py文件或命令行前面加上这几行:

import io
import sys
import urllib.request
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')

一般情况下加上这几行代码后,gbk与utf-8的兼容问题都可以解决,以下为成功爬取的www.baidu.com的内容

 

 

 若遇到编码问题,基本都可以用此方法解决。

还有一个,python中matplotlib的中文显示问题。

小编在使用matplotlib的过程中,生成的统计图出现了以下bug:

 

 

 

也就是中文显示全都不见了=v=

 

经过多种尝试,最终向大家推荐一种方法:

解决方案其实很简单,只需要在python的安装文件夹中的lib文件夹创建一个名为ch.py的文件,内容如下:

#-*-coding:utf-8-*-
#文件名: ch.py
def set_ch():
 from pylab import mpl
 mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
 mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

 

然后,在你所运行的代码前面加上这几句

#-*-coding:utf-8-*-

import ch

ch.set_ch() from matplotlib

import pyplot as plt

 最终的成果如下:

 

完美的解决了中文显示的问题咯~喜欢可以转走~

 

posted on 2017-09-08 01:17  046余博智  阅读(420)  评论(0编辑  收藏  举报

导航