我正在使用 Python 2.7 和 Pygame(使用 Anaconda)开发一个应用程序。在应用程序中,我尝试用西里尔字符绘制文本,但它永远无法正确显示。我知道这可能是一个编码问题,因此我在脚本顶部添加了这一行:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
...然后我在传递的每个字符串前面添加一个“u”。这有帮助,但只是部分帮助 - 现在,我得到的是方 block ,而不是错误的字符!
有趣的是控制台打印出所有内容都很好。
为什么会发生这种情况以及如何解决它?
最佳答案
发生这种情况可能是因为您用于呈现文本的字体缺少西里尔字符。尝试找到 100% 西里尔字母的字体,然后按以下方式渲染文本:
my_font = pygame.font.Font("path/to/cyrillic_font.ttf", 12)
text_surface = my_font.render(u"Текст", True, (255, 255, 255))
关于python - 尝试用 pygame 绘制西里尔字符时出现方 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47218571/