我最近尝试将我的 Django 项目中的数据库从默认的 SQLite 切换到 MySQL。 相应地设置 MySQL 后,我使用了以下命令:
python manage.py dumpdata > datadump.json
# to export existing data into a json file
在 settings.py 中设置 MySQL 数据库并完成所有迁移后,尝试使用以下命令将 json 文件加载到数据库:
python manage.py loaddata datadump.json
# should return sth like "Installed 59 object(s) from 1 fixture(s)"
我收到以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 107654: invalid start byte
现在我尝试将 mysql 数据库的默认字符集设置为 utf8,但没有任何反应。
当我在Pycharm中点击datadump.json
文件时,我也收到如下警告,不知道是否相关:
File was loaded with the wrong encoding: UTF-8
任何帮助将不胜感激
答案 0 :(得分:0)
已解决: 我使用 Pycharm 的接口重新加载了带有 UTF-8 编码的 datadump.json 文件(打开文件时应该会在顶部提示您更改它)。 我还在文件中的某个地方有一个未闭合的括号,修复这两件事后一切正常。