我想在kivy应用程序中显示匈牙利语字母,但每当我使用é
、á
、ö
或其他字母时,它都会显示为这样(é
->;é
)(á
->;á
)(ö
->;ö
)
示例:
ButtonF:
id: beallit
pos_hint: {'x': .375, 'y': .27}
text: "Beállitások"
现在这个按钮的文本显示为:Beállitások
我试过把字体改成支持匈牙利字母表的字体,尽管文字的字体改了,但字母还是没有显示出来。你知道吗
示例:
ButtonF:
id: beallit
pos_hint: {'x':.375, 'y': .27}
text: "Beállitások"
font_name: 'OpenSans'
on_release: app.root.ids.sm.current = 'screen5'
这里的Button's
文本是OpenSans字体,但仍然没有显示匈牙利字母:Beállitások
但是当我用python代码而不是kivy规则编写按钮的文本时,包含匈牙利字母的文本显示正确。你知道吗
在py中:
beallit_text = StringProperty()
beallit_text = 'Beállitások'
单位:kv:
ButtonF:
id: beallit
pos_hint: {'x':.375, 'y': .27}
text: root.beallit_text
font_name: 'OpenSans'
on_release: app.root.ids.sm.current = 'screen5'
现在我可以更改py代码中的所有Label's
/Button's
文本,但是它们太多了。
有没有更简单的方法?你知道吗
显然,这在Kivy中是一个常见的编码问题,Kivy使用的是非UTF-8编码(例如chcp1252)。一种方法是找到文本的编码版本。例如,你能做什么来代替这个
是使用UTF-8编码的文本版本。你知道吗
对于您的情况,
á -> \xc3\xa1 (in UTF-8 literal)
。您可以查看整个列表here。你知道吗或者,您可以简单地识别所使用的编码。确保您的
.kv
文件保存在UTF-8
this给我指了指答案。你知道吗
相关问题 更多 >
编程相关推荐