对来自查询的字段结果进行编码
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")
在 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")