无法在 matplotlib 中获得正确的标题:
'technologieën in °C'
给出:technologieÃn in ÃC
已经尝试过的可能解决方案:
u'technologieën in °C
' 不起作用- 也没有:
# -*- coding: utf-8 -*-
在代码文件的开头。
有什么解决办法吗?
无法在 matplotlib 中获得正确的标题:
'technologieën in °C'
给出:technologieÃn in ÃC
已经尝试过的可能解决方案:
u'technologieën in °C
' 不起作用# -*- coding: utf-8 -*-
在代码文件的开头。有什么解决办法吗?
您需要传入unicode文本:
u'technologieën in °C'
请确保您使用# -*- coding: utf-8 -*-
顶部的注释,并确保您的文本编辑器实际上正在使用该编解码器。如果您的编辑器将文件保存为 Latin-1 编码文本,请在标头中使用该编解码器等。注释向 Python 传达如何解释您的源文件,尤其是在解析字符串文字时。
或者,对 Unicode 文字中的任何非 ASCII 使用转义码:
u'technologie\u00ebn in \u00b0C'
并避免首先使用什么编解码器的问题。
我敦促您阅读:
每个软件开发人员绝对、绝对必须了解 Unicode 和字符集(没有任何借口!)作者:Joel Spolsky
Python Unicode HOWTO
Ned Batchelder 的实用 Unicode
在你继续之前。
大多数字体都支持°
,但如果您看到显示的是一个框,那么您遇到了字体问题,需要切换到支持您尝试显示的字符的字体。例如,如果 Ariel 支持您所需的字符,则使用:
matplotlib.rc('font', family='Arial')
在绘图之前。
在 Python3 中,无需担心所有麻烦的 UTF-8 问题。
请注意,您需要在绘图之前设置 Unicode 字体。
matplotlib.rc('font', family='Arial')