2014-11-02 42 views
-3

我有这段代码,它可以在pycharm ide上正常运行,但当我在输出设置为文件或作为弹性映射缩减的一部分的命令行中运行时出现错误。尝试了一切,但仍然无法正常工作。Unicode错误:尝试了一切

当我在命令行中将它作为python script.py运行时,它给了我输出。当我运行它像python script.py>文件,它给了我一个错误

File "mapq4.py", line 48, in <module> 
print ('%s,%s\t%s\t1\t%s\t%s' % (date, place, tag, tweetId, ind)) 
UnicodeEncodeError: 'ascii' codec can't encode characters in position 19-28: ordinal not in range(128) 

有人可以帮忙吗?我试过tag.encode('utf-8')并解码,但我仍然得到错误。

这是它在它的错误了输出线完全韩文字符我想:

2014-03-21,Bangkok 소녀시대미스터미스터 1 447027481703219202 57 

这是一个电子病历功能映射的一部分,所以请记住这一点为好。

+1

欢迎来到StackOverflow。我们热衷于提供帮助,但您的问题依然存在,并不会对您有所帮助,因为您可以看到它正在被低估。请阅读http://stackoverflow.com/help中的“如何提出问题”指南,特别是http://stackoverflow.com/help/mcve。通过阅读以下内容,您可能也会从中获益:如何使用unicode工作:http://nedbatchelder.com/text/unipain/unipain.html#1 – GreenAsJade 2014-11-02 01:04:20

回答

0

Python通常可以检测到IDE /控制台的编码,并且可以在没有问题的情况下打印非ASCII字符,但是当您重定向到文件时,Python不知道编码的时间,Python 2上的默认值为ascii .x和sys.getfilesystemencoding()在Python 3.x.

在重定向到文件之前设置环境变量PYTHONIOENCODING=utf8以让Python知道要使用的编码。

相关问题