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

Windows环境启动Odoo 18遭遇UnicodeDecodeError的问题求助

Windows环境启动Odoo 18遭遇UnicodeDecodeError的问题求助

大家好,我最近在Windows 11上搭建Odoo 18的开发环境,步骤都按要求完成了:克隆了官方仓库、创建并激活了虚拟环境(venv),requirements.txt里的依赖也都安装成功了。结果第一次启动Odoo服务器时直接失败,抛出了UnicodeDecodeError,具体情况如下:

执行的启动命令

(venv) PS D:\tarefas\trarefa_kaue_1\teste\odoo> python odoo-bin -r odoo -w 123

完整错误回溯信息

2025-08-16 04:07:47,493 14676 INFO ? odoo: Odoo version 18.0
2025-08-16 04:07:47,493 14676 INFO ? odoo: addons paths: ['D:\\tarefas\\trarefa_kaue_1\\teste\\odoo\\odoo\\addons', 'c:\\users\\kauen\\appdata\\local\\openerp s.a\\odoo\\addons\\18.0', 'd:\\tarefas\\trarefa_kaue_1\\teste\\odoo\\odoo\\addons', 'd:\\tarefas\\trarefa_kaue_1\\teste\\odoo\\addons']
2025-08-16 04:07:47,493 14676 INFO ? odoo: database: odoo@default:default
2025-08-16 04:07:50,148 14676 INFO ? odoo.addons.base.models.ir_actions_report: You need Wkhtmltopdf to print a pdf version of the reports.
2025-08-16 04:07:50,152 14676 INFO ? odoo.addons.base.models.ir_actions_report: You need Wkhtmltoimage to generate images from html.
2025-08-16 04:07:52,396 14676 INFO ? odoo.service.server: HTTP service (werkzeug) running on kaue_martins.intelbras.local:8069
Exception in thread odoo.service.cron.cron0:
Traceback (most recent call last):
  File "C:\Python312\Lib\threading.py", line 1075, in _bootstrap_inner
    self.run()
  File "C:\Python312\Lib\threading.py", line 1012, in run
    self._target(*self._args, **self._kwargs)
  File "D:\tarefas\trarefa_kaue_1\teste\odoo\odoo\service\server.py", line 541, in target
    self.cron_thread(i)
  File "D:\tarefas\trarefa_kaue_1\teste\odoo\odoo\service\server.py", line 522, in cron_thread
    with contextlib.closing(conn.cursor()) as cr:
  File "D:\tarefas\trarefa_kaue_1\teste\odoo\odoo\sql_db.py", line 799, in cursor
    return Cursor(self.__pool, self.__dbname, self.__dsn)
  File "D:\tarefas\trarefa_kaue_1\teste\odoo\odoo\sql_db.py", line 288, in __init__
    self._cnx = pool.borrow(dsn)
  File "D:\tarefas\trarefa_kaue_1\teste\odoo\venv\Lib\site-packages\decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "D:\tarefas\trarefa_kaue_1\teste\odoo\odoo\tools\func.py", line 97, in locked
    return func(inst, *args, **kwargs)
  File "D:\tarefas\trarefa_kaue_1\teste\odoo\odoo\sql_db.py", line 726, in borrow
    result = psycopg2.connect(
  File "D:\tarefas\trarefa_kaue_1\teste\odoo\venv\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 0xe7 in position 78: invalid continuation byte

我的环境详情

  • 操作系统:Windows 11
  • Odoo版本:18.0
  • Python版本:3.12(安装路径:C:\Python312)
  • PostgreSQL版本:15

已排查的内容

我自己先做了一些排查:

  • 从错误栈可以看出,问题出在psycopg2.connect调用时,也就是连接PostgreSQL数据库的环节。
  • 错误里提到的byte 0xe7对应拉丁-1(或Windows-1252)编码里的ç字符,说明连接字符串中存在非UTF-8编码的特殊字符,但我找不到来源。
  • 检查了命令行传入的参数(-r odoo 和 -w 123),完全没有特殊字符。
  • 确认PostgreSQL数据库初始化时用的是UTF-8编码,不存在编码不匹配的问题。

目前我怀疑问题可能出在Windows的环境变量里,或者Odoo读取配置文件(odoo.conf)时用了错误的编码(比如用了Windows-1252而不是UTF-8)。

我的问题

  1. 在Windows环境下,除了命令行参数,Odoo或psycopg2还会从哪些地方读取数据库连接相关的信息?
  2. 这个场景下最可能导致这个UnicodeDecodeError的原因是什么,具体该怎么修复?

麻烦各位大佬帮忙分析一下,谢谢!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 07:49:35