我在用python读取和打印土耳其语时遇到以下问题,无法识别单词中的土耳其语字母。但当我试图在其他语言(如俄语、日语和汉语)上存储字符串时,并没有出现这样的问题。

>>> s = u'abartmadığını'
>>> s
u'abartmad???n?'
>>> print s
abartmad???n?

如何调整编码以解决此问题?我在Windows10上使用Python2.7.10,将命令行的代码页更改为28595似乎不起作用,我在Python控制台中遇到了以下错误。
lookuperror:未知编码:cp28595

最佳答案

windows控制台因不支持unicode而臭名昭著。使用支持utf-8输出的ide。下面是pythonwin的一个例子,它是pywin32第三方模块的一部分:

PythonWin 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32.
Portions Copyright 1994-2008 Mark Hammond - see 'Help/About PythonWin' for further copyright information.
>>> s = u'abartmadığını. 我是美国人。 ру́сский язы́к'
>>> s
u'abartmad\u0131\u011f\u0131n\u0131. \u6211\u662f\u7f8e\u56fd\u4eba\u3002 \u0440\u0443\u0301\u0441\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u0301\u043a'
>>> print s
abartmadığını. 我是美国人。 ру́сский язы́к

09-11 16:16