Python Unicode错误:尝试了所有操作

Python Unicode错误:尝试了所有操作,python,unicode,Python,Unicode,我有一段代码,它在pycharm ide上运行得很好,但是当我在命令行中将输出设置为文件或作为Elastic Map reduce的一部分运行时,它会给我一个错误。什么都试过了,但还是不起作用 当我在命令行中以pythonscript.py的形式运行它时,它会给出输出。当我像python script.py>文件那样运行它时,它会给我一个错误 File "mapq4.py", line 48, in <module> print ('%s,%s\t%s\t1\t%s\t%s' %

我有一段代码,它在pycharm ide上运行得很好,但是当我在命令行中将输出设置为文件或作为Elastic Map reduce的一部分运行时,它会给我一个错误。什么都试过了,但还是不起作用

当我在命令行中以pythonscript.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)

这是EMR中映射器函数的一部分,因此请记住这一点。

Python通常可以检测IDE/控制台的编码,并且可以打印非ASCII字符而不会出现问题,但是,当您重定向到一个文件时,Python不知道什么时候应该进行编码,并且在Python2.x上默认为
ascii
,在Python3.x上默认为
sys.getfilesystemencoding()


在重定向到该文件之前,设置环境变量
pythonionecoding=utf8
,让Python知道要使用什么编码。

欢迎使用StackOverflow。我们很乐意提供帮助,但你的问题目前并没有给你任何好处——正如你所看到的,它正在被否决。请阅读“如何提问”指南,尤其是。您还可以阅读以下内容,了解如何使用unicode:
2014-03-21,Bangkok  소녀시대미스터미스터  1   447027481703219202  57