为什么Python不能打印Unicode符号?

2024-04-26 12:04:41 发布

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

Possible Duplicate:
Python UnicodeDecodeError - Am I misunderstanding encode?

我在用Python打印一些unicode符号时遇到问题,例如:

# encoding: utf-8
print u'ęėįųšįšū'

当我试图用Python 2.7在VPS Ubuntu 12服务器上运行这个程序时,我得到一个错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)

为什么要用ASCII编码呢?

命令在本地计算机上正确运行。

文件已正确编码为utf-8。


Tags: in编码vpsunicode符号amutfencoding
1条回答
网友
1楼 · 发布于 2024-04-26 12:04:41

打印unicode对象需要Python猜测输出编码,并将Unicode编码指向该编码。

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

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

请阅读Python Unicode HOWTO以了解Python如何进行此检测以及为什么需要为您编码。

相关问题 更多 >