我必须在数据库中存储复杂的 unicode 字符串,例如“ʘ̃”(一个 IPA 符号)。这些字符串包含特殊字符,例如带有不寻常变音符号的 k͡p。我决定使用 sqlite3 并编写以下行来创建我的数据库:
import sqlite3
conn = sqlite3.connect('/tmp/example.db')
c = conn.cursor()
c.execute('create table mytable (mystring unicode)')
c.execute("insert into mytable values ('ʘ̃ʘ͡qʘ͡qʼ)")
然后我用这些说明阅读了“mytable”:
c.execute('select * from mytable order by trans')
for row in c:
print(c)
但是我只得到一个缺少字符的格式错误的字符串,而我的字符串中最简单的字符仍然存在。相同的代码与常用字符(如 é、â、ö、...)完美配合。此代码来自Python 3.2.3 文档。sqlite3 不能存储任何 unicode 字符吗?
任何帮助将不胜感激 !
PS:我的文件使用 utf-8 编码:
# -*- coding: utf-8 -*-