Unicode与金字塔,SQLAlchemy

时间:2011-10-31 20:05:12

标签: python sqlalchemy pyramid

我正在使用Pyramid和SQLAlchemy,但以下简化代码:

u = u"\u201C"

m = M()
m.comment = u
m.user_id = 1
session.add( m )
session.commit()

给了我一个

UnicodeEncodeError: 'latin-1' codec can't encode character u'\u201c' in position 0: ordinal not in range(256)

我需要解决这个问题?

编辑:

comment是一个“MEDIUMTEXT”列,MySQL类型。

2 个答案:

答案 0 :(得分:4)

您的comment列很可能属于Unicode类型而不是String

答案 1 :(得分:4)

检查数据库的表是否使用unicode以外的编码进行编码。

此外,如果您希望您的评论可以从phpMyAdmin(或您用于连接数据库的任何内容)中读取,则应附加:

字符集= UTF8&安培; use_unicode = 0

到应用程序配置文件中的连接字符串

所以你有mysql:// user:pass @ localhost / dbname?charset = utf8& use_unicode = 0