彻底解决Python中文乱码问题

解决Python中文乱码问题 # -- coding:utf-8 --

-- coding:utf-8 --

作用:解Python源码中存在乱码的问题

原因:Python默认是以ASCII作为编码方式,如果我们写的源码中包含了中文(或者其他非英语语言),python的翻译官——解释器就不认识这些非英语的小兄弟们,即使文件是以UFT-8格式保存的,解释器在做翻译时可能依旧不认识它们(别问我咋知道的,我不会告诉你们我是薅了好多根头发才找到乱码的原因……),这时候就要在.py文件的第一行加上 # -- coding:utf-8 -- 这个东东,目的是要告诉解释器,该文件要以utf-8的格式进行解析。

方法一:手动在每个文件第一行写上# -- coding:utf-8 -- (这么笨的办法肯定不是我们想要的)

方法二:在pycharm中进行设置,具体步骤如下——

1.点击【文件】-【设置】
image-20241020205019202

2.设置页面-【编辑器】-【文件和代码模板】-【Python Script】

image-20241020205043523

3.写入以下代码后,点击【确定】——

-- coding:utf-8 --

#@Author: jovey  
#@Time: ${DATE} ${TIME}
#@File: ${NAME}.py

第一行:设置文件编码格式

第二行:显示作者名字

第三行:显示文件创建时间

第四行:显示文件名

PS:模板中还有很多玩法,有需要的朋友可以自己找找

4.进行验证——新建一个文件,设置好的文件头信息会自动生成

己找找

4.进行验证——新建一个文件,设置好的文件头信息会自动生成

### Python 中文编码作图 Matplotlib 解决方案 在 Python 使用 `matplotlib` 进行绘图时遇到中文乱码问题是一个常见现象。为了确保中文字符能够正常显示,可以通过配置 `matplotlib` 的字体设置来解决问题。 #### 方法一:指定中文字体(适用于 Windows 和 Linux) 通过修改 `matplotlib` 的默认字体设置为支持中文的字体,例如黑体 (`SimHei`): ```python import matplotlib import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 此参数用来解决负号 '-' 显示为方块的问题[^1] # 测试绘图 plt.plot([1, 2, 3], [4, 5, 6]) plt.title('测试标题') plt.xlabel('X轴标签') plt.ylabel('Y轴标签') plt.show() ``` 这种方法简单有效,在大多数情况下都能很好地工作。不过需要注意的是,如果操作系统未安装对应的字体文件,则此方法可能无法生效。 #### 方法二:针对 macOS 用户的解决方案 由于 macOS 默认并不提供 'SimHei' 字体,因此直接应用上述方法可能会失败。建议采用系统自带的支持 Unicode 编码的字体来进行替代处理[^3]: ```python import matplotlib.font_manager as fm from matplotlib import pyplot as plt prop = fm.FontProperties(fname='/System/Library/Fonts/PingFang.ttc') # PingFang 是苹果系统的内置字体之一 fig, ax = plt.subplots() ax.set_title('测试标题', fontproperties=prop) ax.set_xlabel('X轴标签', fontproperties=prop) ax.set_ylabel('Y轴标签', fontproperties=prop) plt.plot([1, 2, 3], [4, 5, 6]) plt.show() ``` 这种方式不仅解决了中文显示问题,同时也避免了额外安装字体所带来的兼容性风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿尔法波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值