我无法将 Django 连接到 PostgreSQL 数据库。它向我展示了编码问题:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 86: invalid start byte
问题就在那一行:
File "C:\Users\Robo\Desktop\Stock\venv\Lib\site-packages\psycopg2\__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
我尝试在“设置”选项中更改编码,但没有结果。
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "Stocks",
"USER": "postgres",
"PASSWORD": "password",
"HOST": "127.0.0.1",
"PORT": "5432",
"encoding": "utf-8",
}
}
我有强烈的感觉,你的
psycopg2
包裹太旧了。也许某些旧版本被安装为另一个包的依赖项。更新为:pip install --upgrade psycopg2
.
词典不适用于
"encoding"
关键字。如果你想指定编码,请这样做:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "Stocks",
"USER": "postgres",
"PASSWORD": "password",
"HOST": "127.0.0.1",
"PORT": "5432",
"OPTIONS": {
"options": "-c client_encoding=utf8"
}
}
}