Python - 在没有Unicode的情况下正确显示控制台窗口中的非拉丁字符

时间:2012-04-07 12:04:05

标签: python encoding console

我在Python中编写了一个控制台应用程序,它使用键盘的直接用户输入和外部文本文件的数据。我不会涉及不相关的细节,但应用程序需要能够在控制台窗口中显示数据并将数据保存到外部文件。现在数据可以是两种语言,英语和俄语(混合,即一行文本中的两种语言)。我遇到的问题是,虽然英文文本总是正确显示,但俄文文本有时会出现乱码。更具体地说,如果用户通过raw_input()输入俄语文本,则文本将在控制台窗口中正确显示,但在外部数据文件中变为乱码。相反,如果用户将俄语文本输入数据文件,则会在控制台窗口中出现乱码,但会正确保存到外部文件中。

问题是,如何在控制台窗口和外部文本文件中正确显示俄语文本?我不想使用Unicode,因为这需要重写应用程序。我可以用几行设置正确的编码吗?如果Unicode是唯一的方法,那很好,但我想知道我是否可以使用常规字符串解决问题,而不是unicode字符串。谢谢。

0 个答案:

没有答案