Django数据导出与导入问题

ops/2024/9/24 19:15:09/
执行: 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


http://www.ppmy.cn/ops/4373.html

相关文章

鸿蒙南向开发:【编译和烧录】指导

编译 #进入源码目录 #rm -rf ohos_config.json #hb set #. #如下图所示,按↑↓键,选择需要编译的工程名,然后回车 #hb build -f #然后回车,等待屏幕出现:BUILD SUCCESS字样,说明编译成功。如下图 #编译生成的固件在…

Pytorch实用教程:pytorch使用模型时并没有调用forward函数,那么前向运算是如何执行的呢?

在 PyTorch 中,尽管我们定义了 forward 方法来指定模型的前向传播逻辑,实际上我们通常不直接调用这个方法。相反,我们通过调用模型对象本身来触发前向传播,这背后的机制涉及到了 Python 的 __call__ 方法。 __call__ 方法的作用 …

关于图像YUV格式分类和排布方式的全学习

【学习笔记】关于图像YUV格式分类和排布方式的全学习_yuv图像-CSDN博客 下图是将多个yuv420p图像(A和B),拼接成一个画面的思路 A大小:416*64 B大小:416*208 将A和B合并到一个416*416的尺寸上,代码如下 //整合char * ptd;ptd (char * ) malloc (416*41…

QQ怎么远程控制自己的电脑

QQ怎么远程控制自己的电脑 在日常生活和工作中,我们有时可能需要在不同的地点远程控制自己的电脑。QQ作为一款广受欢迎的即时通讯软件,提供了远程桌面功能,使得用户可以轻松实现对自己电脑的远程控制。下面就来介绍一下如何使用QQ远程控制自…

基于K-prototype算法聚类

k-prototype聚类是一种用于混合数据类型聚类的算法,由Jain和Dubes在1988年提出。它主要用于同时包含连续属性和离散属性的数据集。k-prototype算法可以看作是k-means算法的扩展,它将k-means算法的思想应用于混合数据类型,通过为连续属性和离散…

边缘计算网关有哪些用途及使用方法?-天拓四方

在数字化日益深入的今天,边缘计算网关作为一种重要的设备,正在越来越多地被应用于各种场景中。它不仅能够提升数据处理的速度和效率,还能在降低网络延迟的同时确保数据的安全性。本文将详细介绍边缘计算网关的用途及其使用方法,帮…

基于SSM的平面设计课程在线学习平台系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的平面设计课程在线学习平台系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,…

Nuxt ESLint 集成模块更新,支持扁平化配置

ESLint 现如今已经成为 Web 开发的必备工具,它可以帮助你捕获错误并在项目中强制执行一致的编码风格。在 Nuxt 框架中,开发团队始终努力为 ESLint 提供开箱即用的体验,使其易于使用、配置并遵循最佳实践。 随着时间的推移,Nuxt 和…