对来自查询的字段结果进行编码

Encoding a field result coming from a query

在 Django 中,我使用外部命令对 MySQL 进行查询。在我恢复一个包含 utf-8 字符(类似于 Camión)的字段之前,一切都变得很好。在那一点上,我无法再访问查询集 MySQL returns

'ascii' codec can't encode character u'\xf3' in position 34: ordinal not in range(128)

我的代码是下一个:

cursor = connection.cursor()
query = "SELECT * FROM " + table_name + " ORDER BY " + "1"
cursor.execute(query)

rows = cursor.fetchall()
for row in rows:
    result = []
    for field in row:
        print field
        result += [str(field)]

如何避免这种情况? 谢谢队友...

已编辑: 它通过 field = unicode(field).encode("utf-8", "replace")

尝试在 python 脚本的开头添加以下行

# -*- coding: utf-8 -*-

为下一个工程调用并替换原始字段字符串...field = unicode(field).encode("utf-8", "replace")