0

システムをスキャンし、Python を使用してファイル名を sqlite3 データベースに入力しています。

ファイルの 1 つに特殊文字が名前に含まれており、レコードの挿入中にエラーが発生します。これはファイル名です。

 a¿.mp3

これがクエリです

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

また、特殊文字のため、utf-8 でエンコードできません。

このデータをデータベースに追加するために使用できる他のエンコードはありますか?

4

2 に答える 2

0

これに使っos.walkていますか?その場合は、os.walk(u'/some/path')すべてのファイルを Unicode で取得するなど、ディレクトリ名をそのままの文字列ではなく Unicode オブジェクトとして渡します。次に、それらを utf-8 (または utf-8 では不十分な場合は utf-16) でエンコードできます。filename.encode('utf-8')

于 2013-02-17T10:36:29.307 に答える
0

utf-16 エンコーディングを試すか、特殊文字の前後に '' を追加してください。

于 2013-02-17T08:50:38.850 に答える