【问题标题】:Encoding error with Django modelsDjango 模型的编码错误
【发布时间】:2011-12-17 20:45:00
【问题描述】:

我有两个带有 utf-8 排序规则的表。 我正在使用 Django 从一个表中获取一行并将其插入到另一个表中,如下所示:

cursor.execute("select * from Table1")
results = dictfetchall(cursor)
for row in results:
  table2_row = Table2(name=row["Name"])
  table2_row.save()

问题是我有时会出错:

'ascii' 编解码器无法对位置 17-18 中的字符进行编码:序数不是 在范围内(128)

这个错误的原因是什么?两个表都使用 utf-8 排序规则。

【问题讨论】:

  • 你在开头写过#coding:utf-8吗?
  • 将完整的跟踪粘贴回去。从问题中的代码来看,您不需要#coding:utf-8

标签: python django


【解决方案1】:

尝试做这些工作:

1- 在模块顶部添加# encoding: UTF-8
2-在创建数据库时定义您的字符集,如下所示:
Create Database DB_NAME CHARACTER SET = UTF8;
3-尝试像这样分配row['name']
name = row['name'].encode('utf8')

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 2012-03-10
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-19
    • 2016-03-28
    • 1970-01-01
    相关资源
    最近更新 更多