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

问题描述

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

任何帮助将不胜感激

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...