Django数据导出与导入问题

执行: python manage.py loaddata data.json 的常见错误:
* 1. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

* 2. raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)",
     ...
     django.core.serializers.base.DeserializationError: Problem installing fixture 'D:\MyDjango\data.json':
使用 python manage.py dumpdata > data.json 语句导出的文件编码为utf16(BOM符合无需理会)
使用  python manage.py loaddata data.json 语句导入文件报错:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
万恶的PowerShell重定向时默认的文本编码是UTF-16LE, 简直反人类!

2024-04-17_030714

Pycharm中无法直接修改编码格式, 要求太多了...

2024-04-17_031201

使用Notepad2编辑器直接修改编码为UTF8.

2024-04-17_031411

再次执行, 则成功...

2024-04-17_032024

使用别的语句虽然创建了utf8文件, 但是加载的时候又出现了错误.
文件包含了一个UTF-8字节顺序标记(BOM), 而Django的JSON反序列化器期望的是没有BOM的UTF-8编码。
# 使用Out-File 用于将输出重定向到文件中, 文件编码默认为UTF8(遗憾的是该版本不能默认NO-BOM)
python manage.py dumpdata | Out-File data.json 
# 或
python manage.py dumpdata | Out-File data.json -Encoding utf8
# 设置重定向编码为UTF8
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
万恶的PowerShell重定向时设置默认的文本编码为UTF-8, 携带BOM, ....CCC!

2024-04-17_034344

错误信息显示你在尝试使用 python manage.py loaddata data.json 命令加载fixture时遇到了 
json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig) 错误.
这表明导出的 data.json 文件包含了一个UTF-8字节顺序标记(BOM), 而Django的JSON反序列化器期望的是没有BOM的UTF-8编码.
别急这里Pycharm提供了移除BOM的功能...

image-20240417034557550

再次执行就成功了...

image-20240417034724797

相关推荐

  1. MySQL导入/导出数据

    2024-04-20 15:32:05       36 阅读
  2. mysql数据导出导入

    2024-04-20 15:32:05       49 阅读
  3. Postgresql数据库导入导出

    2024-04-20 15:32:05       45 阅读
  4. oracle数据库导出/导入

    2024-04-20 15:32:05       32 阅读
  5. mysql 导出导入 数据库

    2024-04-20 15:32:05       25 阅读
  6. 4.Doris数据导入导出

    2024-04-20 15:32:05       116 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-20 15:32:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-20 15:32:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-20 15:32:05       82 阅读
  4. Python语言-面向对象

    2024-04-20 15:32:05       91 阅读

热门阅读

  1. 带你认识Selenium函数

    2024-04-20 15:32:05       28 阅读
  2. 华为配置 dhcp snooping

    2024-04-20 15:32:05       32 阅读
  3. Yarn--npm Windows安装使用

    2024-04-20 15:32:05       29 阅读
  4. 探索人工智能:AI如何改变我们的工作和生活

    2024-04-20 15:32:05       30 阅读
  5. 应急响应流程

    2024-04-20 15:32:05       35 阅读
  6. 安卓手机APP开发__媒体开发部分__直播流

    2024-04-20 15:32:05       37 阅读
  7. web server apache tomcat11-02-setup 启动

    2024-04-20 15:32:05       36 阅读
  8. 基于python的pdf版本的PPT转换为office PPT

    2024-04-20 15:32:05       29 阅读
  9. mariadb 添加新用户,并给新用户对应权限

    2024-04-20 15:32:05       40 阅读
  10. 静默拷贝U盘里的ppt/pptx

    2024-04-20 15:32:05       37 阅读