Python 如何在pygame的屏幕标题中添加非英语字符?

Python 如何在pygame的屏幕标题中添加非英语字符?,python,python-3.x,pygame,Python,Python 3.x,Pygame,我想制作一个包含西里尔文字的程序。我编写了这段代码,可以打开一个窗口,有一个俄语标题,并在屏幕上显示一些俄语文本(意思是拉斯普京)。西里尔字体文件支持西里尔文字 import pygame as pg pg.init() pg.font.init() font = pg.font.Font("Cyrillic-font.ttf",24) gameDisplay = pg.display.set_mode((600, 400)) pg.display.set_caption("Распутин"

我想制作一个包含西里尔文字的程序。我编写了这段代码,可以打开一个窗口,有一个俄语标题,并在屏幕上显示一些俄语文本(意思是拉斯普京)。西里尔字体文件支持西里尔文字

import pygame as pg

pg.init()
pg.font.init()
font = pg.font.Font("Cyrillic-font.ttf",24)
gameDisplay = pg.display.set_mode((600, 400))
pg.display.set_caption("Распутин")


gameExit = False

while not gameExit:
    for event in pg.event.get():
        if event.type == pg.QUIT:
             gameExit = True
    gameDisplay.fill((255,255,255))
    text = font.render("Распутин",True,(255,0,0))
    gameDisplay.blit(text,(200,200)) 
    pg.display.update()
quit()

程序将在屏幕上显示文本。然而,在标题中,所有出现的都是“???????”。我曾尝试使用
font.render
进入
pg.display.set_caption()
,但这不起作用,因为
font.render
给出的是pygame图面而不是字符串,因此代码将停止。

在我看来,这是操作系统设计失败

在Windows10Pro中,我刚刚将“区域设置”更改为俄语。请在“地区,行政”中查找。所有这些都保留了旧的语言和文本,俄语文本有西里尔字母


也许这不是最好的解决方案,但它很管用。

它适用于我的Ubuntu 18.10-它可能是标题栏主题所用的字体吗?这个问题在Windows 10上也会发生,但是我可以更改其他标题栏(例如,命令提示符
titleаааПааа
)。@Kingsley最有可能是这个问题,因为我必须使用一种特殊的字体在屏幕上显示文本。不幸的是,我还没有弄清楚如何在pygame中编辑标题栏的字体。@Oranjeman-我想知道这是否是一个编码问题?该文本是用UTF-8(或unicode)编码的还是其他代码页?前几天我遇到了一种日文字体,其中平假名字形被映射到拉丁字母a-Z上,而不是通常应该索引的地方。您是否向python添加了正确的编码头,例如:
#coding:utf-8
(必须是第一行或第二行)-有关详细信息,请参阅details@Kingsley我已经检查了字体文件,因为它还支持拉丁字符和其他语言的一些字符,字形应该在它们的正常索引中。我以前没有输入编码头。但在添加一个之后,一切都没有改变。