0

我正在扫描我的系统并使用 python 将文件名输入到 sqlite3 数据库中。

其中一个文件的名称中恰好有一个特殊字符,并且在插入记录时会产生错误。这是文件名。

 a¿.mp3

这是查询

self.cursor.execute("INSERT INTO TRACKS VALUES (?)", i)

同样由于特殊字符,我无法将其编码为 utf-8。

是否有其他编码可用于将此数据添加到数据库中?

4

2 回答 2

0

您可以尝试 utf-16 编码,或在特殊字符周围添加 ''。

于 2013-02-17T08:50:38.850 回答
0

你用os.walk这个吗?如果这样做,则不要将目录名称作为裸字符串传递,而是作为 unicode 对象传递,例如os.walk(u'/some/path')获取 unicode 中的所有文件。然后你可以用 utf-8 (或者 utf-16 如果 utf-8 不够的话)对它们进行编码filename.encode('utf-8')

于 2013-02-17T10:36:29.307 回答