python - Unicode编码错误: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128) chinese characters

标签 python unicode encoding utf-8 character-encoding

我正在尝试将中文字符从名为 result 的 SQL 输出写入文本文件。 结果如下所示: [('你好吗', 345re4, '2015-07-20'), ('我很好',45dde2, '2015-07-20').....]

这是我的代码:

#result is a list of tuples
    file = open("my.txt", "w")
    for row in result:
        print >> file, row[0].encode('utf-8')
    file.close()

row[0] 包含如下中文文本:你好吗

我也尝试过:

打印>>文件,str(row[0]).encode('utf-8')

打印>>文件,'u'+str(row[0]).encode('utf-8')

但两者都给出了相同的错误。

UnicodeEncodeError:“ascii”编解码器无法对位置 0-10 中的字符进行编码:序数不在范围 (128)

最佳答案

找到了一个简单的解决方案,而不是通过从一开始就使用编解码器将文件格式化为“utf-8”来进行编码和解码。

import codecs
file = codecs.open("my.txt", "w", "utf-8")

关于python - Unicode编码错误: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128) chinese characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31550430/

相关文章:

python - "ValueError: too many values to unpack"《艰难地学习 Python》,Ex 13

javascript - 交换 unicode 字符

video - 如何将文本流(字幕)添加到 .mp4 或 .m4v

python从二维数组制作位图数据

python - 是什么导致我的函数出现 "ValueError: cannot convert float NaN to integer"

c++ - 如何使用 ICU 解析汉字数字字符?

c# - StreamReader 问题 - 未知文件编码(西方 ISO 88591)

xml - 处理带有外语字符的文本文件或字符串变量

python - Flask-sqlalchemy - 用户查询 'BaseQuery' 对象没有属性 'password'

python - 为什么 json.loads 返回一个 unicode 对象而不是字符串