如何在数据库插入阿拉伯字符?Django新手SQLite3字符显示问题
解决SQLite3 Shell中阿拉伯字符的插入与显示问题
1. 如何在SQLite3 Shell中插入阿拉伯字符(如مرد)
要在SQLite3 Shell中正确插入和显示阿拉伯字符,需确保终端与SQLite3的编码统一为UTF-8:
- 配置终端编码:
- Windows命令提示符:执行
chcp 65001切换至UTF-8编码; - Linux/macOS终端:确认终端字符编码为UTF-8(通常默认已开启,可在终端偏好设置中检查)。
- Windows命令提示符:执行
- 启动SQLite3时指定编码:
在终端执行以下命令,强制SQLite3使用UTF-8编码连接数据库:sqlite3 -cmd "PRAGMA encoding='UTF-8'" 你的数据库名称.db - 执行插入操作:
编码配置完成后,直接执行插入语句即可:INSERT INTO 你的表名 (目标列名) VALUES ('مرد');
2. 网站添加的阿拉伯语评论正常显示,但SQLite3 Shell中显示???的原因
核心原因是编码环境不一致:
- Django默认以UTF-8编码与数据库交互,插入的阿拉伯字符会以标准UTF-8格式存储,网站读取时能正确解码显示;
- SQLite3 Shell的终端编码未设置为UTF-8,导致读取数据库中存储的UTF-8字符时无法解析,最终显示为
???。数据库内的数据本身是完整且正确的,仅Shell的显示环境不支持阿拉伯字符解码。
内容的提问来源于stack exchange,提问作者Nicolas_Darksoul
相关产品推荐
相关产品推荐

