2014-11-02 38 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知道要使用的編碼。

相關問題