不能编码ascii字符u'\ xe9'

时间:2015-07-29 20:48:53

标签: python encoding utf-8

当我在文件中写一个字符串时,我收到一条消息'ascii' codec can't encode character u'\xe9',这是我写文件的方式

my_file = open(output_path, "w")
my_file.write(output_string)
my_file.close()

我一直在搜索并找到像UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 7: ordinal not in range(128)这样的答案,第一个没有用,然后这个我很困惑为什么我要编码数据我希望能够阅读

import io

f = io.open(filename, 'w', encoding='utf8')

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

如上所述,您尝试使用ASCII编码编写非ASCII字符。由于内置open函数不支持encoding参数,因此请考虑始终在Python 2.7中使用io.open(这是自Python 3.x以来的默认值)。 / p>