簡體   English   中英

Python錯誤“ ASCII編解碼器無法編碼字符…”

[英]Python error “ascii codec cannot encode character…”

我有一個腳本顯示

UnicodeEncodeError: 'ascii' codec can't encode character u'\u044e' in position 0: ordinal not in range(128)

對於行print 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

如果本地編碼不支持,則無法在Windows控制台上打印unicode字符。 因此,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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM