Skip to content

[BUG] 基于源码启动服务 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 61: invalid continuation byte #645

@Jaylenwa

Description

@Jaylenwa

联系方式

1318248167@qq.com

MaxKB 版本

2024/06/14 main分支源码

问题描述

前置条件:操作系统win11,数据库为 PostgreSQL 16.3,开发环境为conda环境,python 3.11

  1. 确认代码为最新主线
PS D:\PyWorkPlace\MaxKB> git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean


PS D:\PyWorkPlace\MaxKB> git pull origin main
From https://github.com/1Panel-dev/MaxKB
 * branch            main       -> FETCH_HEAD
Already up to date.
  1. 已正确配置配置文件
# 数据库链接信息
DB_NAME: maxkb
DB_HOST: localhost
DB_PORT: 5432
DB_USER: root
DB_PASSWORD: xxxxxx(项目中已改为正确密码)
DB_ENGINE: django.db.backends.postgresql_psycopg2
DEBUG: false
TIME_ZONE: Asia/Shanghai
  1. 启动服务报错,错误信息如下
PS D:\PyWorkPlace\MaxKB> python .\main.py start

Building prefix dict from the default dictionary ...
DEBUG:jieba:Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\13182\AppData\Local\Temp\jieba.cache
DEBUG:jieba:Loading model from cache C:\Users\13182\AppData\Local\Temp\jieba.cache
Loading model cost 0.494 seconds.
DEBUG:jieba:Loading model cost 0.494 seconds.
Prefix dict has been built successfully.
DEBUG:jieba:Prefix dict has been built successfully.
Traceback (most recent call last):
  File "D:\PyWorkPlace\MaxKB\main.py", line 75, in <module>
    start_services()
  File "D:\PyWorkPlace\MaxKB\main.py", line 46, in start_services
    management.call_command('migrate')
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\core\management\__init__.py", line 198, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\core\management\base.py", line 448, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\core\management\base.py", line 96, in wrapped
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\core\management\commands\migrate.py", line 114, in handle       
    executor = MigrationExecutor(connection, self.migration_progress_callback)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\migrations\executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\migrations\loader.py", line 58, in __init__
    self.build_graph()
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\migrations\loader.py", line 235, in build_graph
    self.applied_migrations = recorder.applied_migrations()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\migrations\recorder.py", line 81, in applied_migrations      
    if self.has_table():
       ^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\migrations\recorder.py", line 57, in has_table
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\backends\base\base.py", line 323, in cursor
    return self._cursor()
           ^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\backends\base\base.py", line 299, in _cursor
    self.ensure_connection()
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\backends\base\base.py", line 282, in ensure_connection
    self.connect()
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\backends\base\base.py", line 263, in connect

    self.connection = self.get_new_connection(conn_params)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\django\db\backends\postgresql\base.py", line 215, in get_new_connection    connection = Database.connect(**conn_params)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\13182\.conda\envs\py3.11\Lib\site-packages\psycopg2\__init__.py", line 122, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 61: invalid continuation byte

重现步骤

同问题描述

期待的正确结果

No response

相关日志输出

No response

附加信息

进入该方法后报错

management.call_command('migrate')

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions