首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows终端下打印Python 3中的字母,如“i”、“节”、"ø“?

如何在Windows终端下打印Python 3中的字母,如“i”、“节”、"ø“?
EN

Stack Overflow用户
提问于 2013-10-21 06:44:15
回答 1查看 2.7K关注 0票数 1

我想用Python3编写一个应用程序,它应该打印字母:ç,§,ø。当使用Python IDLE时,一切都运行得很好,但我需要这个应用程序在终端(Windows7)中工作。Python显示以下字母:ł,ę,ą,ś,ć,ź,ż和ó,因为它在空闲和控制台中都应该显示。但我的应用程序需要处理所有这些字母。我得到了这个错误:

UnicodeEncodeError: 'charmap' codec can't encode character '\xe5' in position 0: cha racter maps to <undefined>

\xe5应为§。我该怎么做才能让它工作呢?

代码语言:javascript
复制
import sys, os, msvcrt
import tavla

def make():
    os.system("cls")
    get_verb = input("Angje verbet (separer med komma): ")
    polish = input("Angje det polske ordet: ")
    verb = get_verb.split(",")
    try:
        tavla.tavla(verb[0],verb[1],verb[2],verb[3], polish)
        print ("Trykk på ein knapp for å fortsetta...")
        msvcrt.getch()
    except IndexError:
        sys.exit(2)

if __name__ == '__main__':
    make()

"tavla“脚本不会导致任何问题:

代码语言:javascript
复制
def tavla(ubund_sing="et hus", bund_sing="huset", ubund_pl="hus", bund_pl="husene", polsk="dom"):
        a = "\t|{0}|\t|{1}|\t\t|{2}|\t\t|{3}|".format(ubund_sing, bund_sing, ubund_pl, bund_pl)
        print(a)
        print("\n\t\t\t\t{0}".format(polsk))

问题是这一行:

代码语言:javascript
复制
        print ("Trykk på ein knapp for å fortsetta...")

因为它使用了字母“节”。意在,tavla应显示所有字母:ç,§,ø,éł,ę,ą,ś,ć,ź,ż,ó

代码语言:javascript
复制
# -*- coding: utf-8 -*-

根本不会改变任何事情。还是老样子。

EN

回答 1

Stack Overflow用户

发布于 2013-10-21 09:44:21

尝尝这个

代码语言:javascript
复制
import sys
reload(sys)
sys.setdefaultencoding('UTF-8')

或者你可以参考http://code.activestate.com/recipes/466341-guaranteed-conversion-to-unicode-or-byte-string/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19483753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档