Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python错误“;ascii编解码器无法对字符进行编码…”;_Python_Unicode - Fatal编程技术网

Python错误“;ascii编解码器无法对字符进行编码…”;

Python错误“;ascii编解码器无法对字符进行编码…”;,python,unicode,Python,Unicode,我有一个脚本显示 UnicodeEncodeError: 'ascii' codec can't encode character u'\u044e' in position 0: ordinal not in range(128) 对于行打印ord(u),u。如何运行脚本 我运行C:\Python27\pythonw.exe name.py # -*- encoding: utf-8 -*- print "Russian letters".center(18*4) i = 0 for c i

我有一个脚本显示

UnicodeEncodeError: 'ascii' codec can't encode character u'\u044e' in position 0: ordinal not in range(128)
对于行
打印ord(u),u
。如何运行脚本

我运行
C:\Python27\pythonw.exe name.py

# -*- encoding: utf-8 -*-
print "Russian letters".center(18*4)
i = 0
for c in "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"\
         "абвгдежзийклмнопрстуфхцчшщъыьэюя":
  u = unicode(c, 'koi8-r')  
  print ord(u), u
  i += 1
  if i % 4 == 0:
    print

如果本地编码不支持unicode字符,则无法将其打印到windows控制台。因此python尝试将其编码为
ascii
,但失败了。问题在于:

print ord(u), u
u
是一个unicode字符。你想要的可能是:

# -*- encoding: utf-8 -*-

print "Russian letters".center(18*4)
i = 0
for c in u"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"\
         u"абвгдежзийклмнопрстуфхцчшщъыьэюя":
    u = c.encode('koi8-r')  
    print ord(u), u
    i += 1
    if i % 4 == 0:
        print

还可以对控制台应用程序使用
python.exe
,而不是
pythonw.exe

我刚刚尝试了这个脚本,它对我很有用。您正在运行哪个版本的Python?Py2.7。文件是UTF8。Win XP。@它可以工作,但在开始时会引发异常,请尝试
>/dev/null
查看错误。