Why can't Python print Unicode symbols?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Python UnicodeDecodeError - Am I misunderstanding encode?
在Python中打印以下Unicode符号时遇到问题:
1 2 | # 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。
打印
在您的VPS服务器上,输出编码显示为ASCII,这是无法检测到编码时的默认值(例如使用管道时)。如果在终端上运行相同的代码,通常会检测到终端编码,并且编码成功。
解决方案是根据脚本要求显式编码。
请务必阅读python unicode如何理解python如何进行这种检测以及为什么需要为您编码。