Python Unicode编码错误

Python Unicode编码错误,python,python-3.3,Python,Python 3.3,我在Ubuntu中编写了一个Python 3.3程序,运行良好。但是,当我在windows中运行它时,会出现Unicode编码错误。它抱怨的路线是: if minor: print (textwrap.fill('{}: {}'.format(minor,MINOR[minor])),"\n") 但我不明白为什么它能在Ubuntu而不是Windows下工作。windows不喜欢哪个角色?我看不出有什么问题 我遇到了同样的问题,我用以下方法解决了它: 首先解码字符串(如字符串1),然后执

我在Ubuntu中编写了一个Python 3.3程序,运行良好。但是,当我在windows中运行它时,会出现Unicode编码错误。它抱怨的路线是:

if minor:
    print (textwrap.fill('{}: {}'.format(minor,MINOR[minor])),"\n")
但我不明白为什么它能在Ubuntu而不是Windows下工作。windows不喜欢哪个角色?我看不出有什么问题


我遇到了同样的问题,我用以下方法解决了它: 首先解码字符串(如字符串1),然后执行进一步的操作:

  string_decoded= (string1.decode('latin_1'))

事实证明,问题出在加载到“minor”常量(在本例中为dictionary)的csv文件中。问题是我复制txt的地方使用了一些奇怪的撇号字符,而不是它通常使用的字符,所以我通过notepad++运行了一个替换并修复了它。

完整的堆栈跟踪在这里会很有用。Pic上传到主要问题可能是终端的编码问题。在linux中通常是utf-8,在windows上可能是latin-1或cp1252。您希望这个函数打印什么?它试图打印一个字符串,其中包含一个在UTF-8和拉丁语-1中无效的字符(但在cp-1252中有效)。再次在Notepad++中打开该文件,并将其重新保存为UTF-8文件。然后你就可以使用各种奇怪的符号了!