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

Django项目用python-dotenv加载.env时遇Unicode解码错误怎么解决?

解决Django项目中.env文件引发的UnicodeDecodeError问题

1. 修复.env文件的编码格式

  • 用记事本打开.env文件,点击「文件」→「另存为」,编码选「UTF-8」(别选带BOM的UTF-8),覆盖原文件。
  • 或者用VS Code打开,看右下角的编码标识,点击后选择「通过编码保存」,选「UTF-8」(无BOM)格式。

2. 加载.env时显式指定编码

在settings.py里加载环境变量时,给load_dotenv加上编码参数,兼容带BOM的文件:

from dotenv import load_dotenv
import os

# 指定编码为utf-8-sig处理带BOM的UTF-8文件
load_dotenv(encoding='utf-8-sig')

# 读取变量时记得去掉单引号
SECRET_KEY = os.getenv('SECRET_KEY').strip("'")
# 把字符串转成布尔值,避免DEBUG判断出错
DEBUG = os.getenv('DEBUG').strip("'") == 'True'

3. 重新生成纯UTF-8的.env文件

直接在Powershell里用命令创建,确保编码正确:

@"
SECRET_KEY='你的密钥内容'
DEBUG='False'
"@ | Out-File -FilePath .env -Encoding utf8

4. 降级python-dotenv版本试试

1.0.0版本的编码处理可能有问题,降级到0.21.0版本:

pip uninstall python-dotenv -y
pip install python-dotenv==0.21.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:50:02