无法在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'
并且首先避免使用哪种编解码器。
我敦促您阅读:
[The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) by Joel Spolsky
Pragmatic Unicode by Ned Batchelder
继续之前。
大多数字体将支持°
,但是如果看到显示的是一个框,则表示字体有问题,需要切换为支持您尝试显示的字符的字体。例如,如果Ariel支持您所需的字符,请使用:
matplotlib.rc('font', family='Arial')
绘制之前。
在Python3中,无需担心所有麻烦的UTF-8问题。
注意,在绘制之前,您需要设置Unicode字体。
matplotlib.rc('font', family='Arial')