2

我必须在数据库中存储复杂的 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 -*-
4

1 回答 1

2

很抱歉给您带来不便,但我的代码运行良好:是我的终端显示了有关 sqlite 返回值的错误信息。

于 2012-09-09T21:26:05.790 回答