Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PowerShell运行python脚本时出现UnicodeEncodeError_Python_Windows_Unicode - Fatal编程技术网

通过PowerShell运行python脚本时出现UnicodeEncodeError

通过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

我正在学习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")

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都非常常见。请做一些研究: