You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Django导出Fixture时西里尔字符编码异常问题?

解决Django dumpdata导出西里尔字符编码异常问题

执行python manage.py dumpdata goods.Categories > fixtures/goods/carts.json时,含俄语(西里尔字符)的字段出现编码异常,对应模型代码:

class Categories(models.Model):
    name = models.CharField(max_length=150, unique=True, verbose_name="Название")

以下是几个直接有效的解决方法:

  • 用dumpdata自带的--output参数替代终端重定向符号>,避免终端默认编码干扰:

    python manage.py dumpdata goods.Categories --output fixtures/goods/carts.json
    
  • 若必须使用重定向,先强制终端输出编码为UTF-8:

    • Linux/macOS终端先执行:
      export PYTHONIOENCODING=utf-8
      
      再运行dumpdata命令
    • Windows CMD先执行:
      chcp 65001
      set PYTHONIOENCODING=utf-8
      
      再运行dumpdata命令
  • 确认项目数据库编码配置正确,在settings.py中添加或修改数据库OPTIONS:

    DATABASES = {
        'default': {
            # 其他数据库配置(ENGINE, NAME等)
            'OPTIONS': {
                'charset': 'utf8mb4',
            },
        }
    }
    

内容的提问来源于stack exchange,提问作者wicki77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 13:05:03