UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 107654: invalid start byte Django database change to MySQL

时间:2021-04-27 18:34:17

标签: python mysql django database

我最近尝试将我的 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

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

已解决: 我使用 Pycharm 的接口重新加载了带有 UTF-8 编码的 datadump.json 文件(打开文件时应该会在顶部提示您更改它)。 我还在文件中的某个地方有一个未闭合的括号,修复这两件事后一切正常。