Django 连接 Postgresql 编码问题

问题描述 投票:0回答:1

我无法将 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",

    }
}
django postgresql encoding connection
1个回答
0
投票

我有强烈的感觉,你的

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"
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.