Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.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是否打印Unicode符号?_Python_Unicode_Encoding - Fatal编程技术网

为什么可以';Python是否打印Unicode符号?

为什么可以';Python是否打印Unicode符号?,python,unicode,encoding,Python,Unicode,Encoding,可能重复: 在Python中打印某些unicode符号时遇到问题,如下所示: # encoding: utf-8 print u'ęėįųšįšū' 当我尝试使用Python 2.7在我的VPS Ubuntu 12服务器上运行此操作时,我得到一个错误: UnicodeEncodeError:“ascii”编解码器无法对位置0-7中的字符进行编码:序号不在范围内(128) 为什么它尝试用ASCII编码它们 这些命令在我的本地计算机上正确运行 文件以utf-8正确编码。打印unicode对象需要

可能重复:

在Python中打印某些unicode符号时遇到问题,如下所示:

# encoding: utf-8
print u'ęėįųšįšū'
当我尝试使用Python 2.7在我的VPS Ubuntu 12服务器上运行此操作时,我得到一个错误:

UnicodeEncodeError:“ascii”编解码器无法对位置0-7中的字符进行编码:序号不在范围内(128)

为什么它尝试用ASCII编码它们

这些命令在我的本地计算机上正确运行


文件以utf-8正确编码。

打印
unicode
对象需要Python猜测输出编码,并将unicode代码点编码为该编码

在VPS服务器上,输出编码显示为ASCII,这是无法检测到编码时的默认值(例如使用管道时)。如果在终端上运行相同的代码,通常会检测到终端编码,并且编码成功

解决方案是根据脚本要求显式编码


请务必阅读,以了解Python是如何执行此检测的,以及它为什么需要为您编码。

为什么它甚至尝试用ascii编码它们?检查
sys.getdefaultencoding()
的值。Python可以打印unicode符号。下面是一个在解释器、控制台和管道文件上进行的演练:请对每天提出的此类问题发表评论。你只是在重复常见问题的答案。@RashanGandi:如果你对这个问题有一个很好的欺骗目标,请随意投票来结束这个问题。你可能也会得到我的选票。同时,我将尽我所能帮助提问者提问。Output encoding
sys.stdout.encoding
,在本例中可能不是utf-8。