Python2.7如何使用utf8字符打印?

2024-06-16 11:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python2.7版,我需要知道如何打印utf-8字符。有人能帮我吗? ->;我已经试过把编码:iso-8859-1-*-放在最前面, ->;使用encode like print“nome do seu chaápa”。encode('iso-8859-1')也不起作用,甚至 ->;使用print u“N–o”不起作用


Tags: gt编码iso字符doutflikeencode
3条回答

更完整的回答。

在python2中,字符串有两种类型:str和unicode。

使用str时,使用的是字节,因此可以直接将它们写入stdout之类的文件。

使用unicode时,在写入文件之前,必须将其序列化或编码为字节。

那么,这里发生了什么?print "nome do seu chápa".encode('iso-8859-1')

你有字节,但是你试图编码它们,所以Python2首先在背后解码,然后使用请求的标准进行编码。如果幸运的话,这可能会奏效,或者产生胡言乱语。

现在,在执行以下操作时:print u"Nâo".encode('utf-8')

您告诉python2从Unicode开始,这样它就可以对其进行编码而不会出现问题的解码。

Python3解决了这个问题。

你确定把这一行放在文件的最上面吗?

# -*- coding: utf-8 -*-

另外,我不知道iso和utf在这个问题上有什么区别,但是我在母语和一些技术方面遇到了一些问题,所以我推荐第二个。

我得到了答案:我的主机需要重启。我使用Spyder(来自pythonx,y)进行开发,但出现了这个错误,所以要小心。

更新:Spyder控制台看起来很糟糕,因为要让它工作,我不得不使用字符串.编码('latin1')和(现在是关键)打开一个新的控制台!如果我试图重用我已经打开的控制台,特殊字符就不起作用了。

相关问题 更多 >