通过PowerShell运行python脚本时出现UnicodeEncodeError
我正在学习Python并使用Reddit机器人,但我遇到了一个错误。我想我需要更改PowerShell控制台窗口的编码,但我不确定如何更改。代码如下:通过PowerShell运行python脚本时出现UnicodeEncodeError,python,windows,unicode,Python,Windows,Unicode,我正在学习Python并使用Reddit机器人,但我遇到了一个错误。我想我需要更改PowerShell控制台窗口的编码,但我不确定如何更改。代码如下: #!/usr/bin/python # -*- coding: utf-8 -*- import praw user_agent = ("PyEng Bot 0.1") r = praw.Reddit(user_agent = user_agent) subreddit = r.get_subreddit("learnpython") f
#!/usr/bin/python
# -*- coding: utf-8 -*-
import praw
user_agent = ("PyEng Bot 0.1")
r = praw.Reddit(user_agent = user_agent)
subreddit = r.get_subreddit("learnpython")
for submission in subreddit.get_hot(limit = 5):
print "Title: ", submission.title
print "Text: ", submission.selftext
print "Score: ", submission.score
print "---------------------------------\n"
下面是错误:
Text: Traceback (most recent call last):
File "redditbot.py", line 13, in <module>
print "Text: ", submission.selftext
File "C:\Python27\lib\encodings\cp437.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2014' in position 204: character maps to <undefined>
Text:Traceback(最近一次呼叫最后一次):
文件“redditbot.py”,第13行,在
打印“文本:”,submission.selftext
文件“C:\Python27\lib\encodings\cp437.py”,第12行,在encode中
返回编解码器.charmap\u encode(输入、错误、编码\u映射)
UnicodeEncodeError:“charmap”编解码器无法对位置204处的字符u'\u2014'进行编码:字符映射到
我忘了添加,我正在用记事本++编写脚本,并使用PowerShell运行它。如果你忘了在问题中添加内容,你应该将信息编辑到问题中,而不是添加注释。关于您的问题,我怀疑它与PowerShell无关,因此您应该删除PowerShell标记,除非您能够演示它是如何工作的。如果从Windows命令提示符下运行,问题是否会消失?我建议使用Python 3.x,因为在哪里需要编码以及何时发生编码错误更为明显。要打印控制台编码不支持的Unicode字符,您可以尝试Unicode编码的问题,MS Windows的任何一个shell都非常常见。请做一些研究:我忘了添加,我正在用Notepad++编写脚本,并使用PowerShell运行它。如果您忘了在问题中添加内容,您应该将信息编辑到问题中,而不是添加注释。关于您的问题,我怀疑它与PowerShell无关,因此您应该删除PowerShell标记,除非您能够演示它是如何工作的。如果从Windows命令提示符下运行,问题是否会消失?我建议使用Python 3.x,因为在哪里需要编码以及何时发生编码错误更为明显。要打印控制台编码不支持的Unicode字符,您可以尝试Unicode编码的问题,MS Windows的任何一个shell都非常常见。请做一些研究: