You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.6操作SQLite3生成数据库文件出现乱码问题求助

你的SQLite数据库其实没出错——那些“奇怪字符”是正常的二进制格式

别担心,你遇到的根本不是代码错误!你看到的那些乱码一样的内容,其实是SQLite数据库文件的原生二进制格式——SQLite数据库本身就不是纯文本文件,直接用普通文本编辑器打开肯定会显示一堆看不懂的字符,这完全是正常现象。

先确认下:你的代码逻辑是完全正确的:

  • 用sqlite3.connect()正确连接(不存在则创建)数据库文件
  • CREATE TABLE IF NOT EXISTS的语法没问题,只会在task表不存在时创建它
  • 字段定义的类型都是SQLite支持的(SQLite会自动处理类型映射,比如number会被适配为合适的存储类型)
  • 你也正确执行了commit()提交修改,最后关闭了连接

如果想验证数据库和表是否真的创建成功,别直接打开.db文件,试试这两种方法:

方法1:用Python代码查询验证

import sqlite3
db_filename = 'database.db'
connect = sqlite3.connect(db_filename)
c = connect.cursor()

# 查询系统表sqlite_master,确认task表存在
c.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='task';")
result = c.fetchone()

if result:
    print("✅ task表已经成功创建!")
else:
    print("❌ task表不存在")

connect.close()

方法2:用SQLite命令行工具查看

打开终端/命令提示符,运行:

sqlite3 database.db

进入SQLite交互环境后,输入.tables并回车,就能看到所有已创建的表;如果想查看task表的结构,输入.schema task即可。

总的来说,你的代码没有任何问题,只是误解了SQLite数据库文件的存储格式而已~

内容的提问来源于stack exchange,提问作者jez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:41:53