|-转 python报错 UnicodeEncodeError: 'gbk' codec can't encode character '\u2705'...
--- Logging error --- Traceback (most recent call last): File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\logging\__init__.py", line 1086, in emit stream.write(msg + self.terminator) UnicodeEncodeError: 'gbk' codec can't encode character '\u2705' in position 42: illegal multibyte sequence Call stack: File "<string>", line 1, in <module> File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\multiprocessing\process.py", line 315, in _bootstrap self.run() File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\multiprocessing\process.py", line 108, in run self._target(*self._args, **self._kwargs) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\site-packages\uvicorn\_subprocess.py", line 76, in subprocess_started target(sockets=sockets) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\site-packages\uvicorn\server.py", line 61, in run return asyncio.run(self.serve(sockets=sockets)) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\asyncio\base_events.py", line 634, in run_until_complete self.run_forever() File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\asyncio\base_events.py", line 601, in run_forever self._run_once() File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\asyncio\base_events.py", line 1905, in _run_once handle._run() File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\asyncio\events.py", line 80, in _run self._context.run(self._callback, *self._args) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\site-packages\uvicorn\server.py", line 68, in serve config.load() File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\site-packages\uvicorn\config.py", line 467, in load self.loaded_app = import_from_string(self.app) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\site-packages\uvicorn\importer.py", line 21, in import_from_string module = importlib.import_module(module_str) File "G:\ProgramData\miniconda3\envs\speaker-extractor\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "D:\python\fastapi-speaker-extractor\app\main.py", line 39, in <module> logger.info("✅ WhisperX 模型加载成功!") Message: '✅ WhisperX 模型加载成功!' Arguments: () --- Logging error --- 后面这些是什么,是那里错误了吗
从报错信息来看,主要是日志输出时碰到了编码问题(UnicodeEncodeError: 'gbk' codec can't encode character '\u2705'...),再加上后面还有一些版本不兼容的提示。下面分点解释原因和解决办法:
1. 最直接的错误:日志编码不兼容(GBK → UTF-8)
Python 的logging模块默认会用系统的编码(Windows 下常是'gbk')往控制台写日志。而你的代码里用了 Unicode 字符(比如✅这个 emoji 或特殊符号),gbk编码不认识这种字符,就会抛出UnicodeEncodeError。
解决思路:
让 Python 日志用 UTF-8 编码输出,而不是系统默认的 GBK。
做法有很多种,比较常见的是在程序开头(或配置日志的地方)加上下面这样的代码,强制让标准输出的编码变成 UTF-8:
我的logging是自定义的:在项目根目录下的logger.py 内容是 import logging import os class CustomLogger: def __init__(self, name, log_file, level=logging.INFO): self.logger = logging.getLogger(name) self.logger.setLevel(level) # 创建一个文件处理器,写入日志文件 file_handler = logging.FileHandler(log_file) file_handler.setLevel(level) # 创建一个控制台处理器,输出到控制台 console_handler = logging.StreamHandler() console_handler.setLevel(level) # 定义日志格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) # 将处理器添加到 Logger 对象 self.logger.addHandler(file_handler) self.logger.addHandler(console_handler) def get_logger(self): return self.logger 。要怎么改 “让 Python 日志用 UTF-8 编码输出,而不是系统默认的 GBK。”
你的CustomLogger类是自定义的日志封装,它内部使用了 Python 标准库的logging模块,并分别添加了一个文件处理器(FileHandler)和一个控制台处理器(StreamHandler)。...
浏览更多内容请先登录。
立即注册
更新于:2025-08-23 08:00:06
相关内容
python的selenium的用法整理
selenium3定位元素(包括父子,兄弟)及常见操作
使用Selenium自动验证滑块登录
AI和Python 学习整理
AudioSeparationGUI 对输入的音频,自动根据说话人进行分类 20250817
SoloSpeech 项目安装和运行测试 20250817
python 多项目部署 优先考虑用Anaconda
espnet 声音分离
ClearerVoice-Studio 安装测试遇到的问题,安装pysptk一直失败
uvr5 bs roformer 爆显存以及关于huggingface的国内镜像hf-mirror.com
用Kimi编程
Studio One 调试插件Techivation AI-Rack 一键智能混音
在hf-mirror.com模型镜像站用代码下载模型遇到报错 speaker-diarization模型不...
用腾讯元宝编程
Conda国内镜像源
数字对象标识符 (DOI)
在创建conda环境时,如果不指定Python版本,conda将不会默认安装Python。
whisperx 的使用 音频处理
Win10系统 Trae的使用 关于powershell报错: 因为在此系统上禁止运行脚本
warp的使用
AI编程工具比较
FastApi
python 报错整理2
给出一份「Python 中常见 import 名称 与 pip install 名称不一致」的速查表
Windows用Conda创建环境报错 CondaToSNonInteractiveError: Terms of Se...
快速验证顺序是否被改
Python 学习整理2
fastapi-speaker-extractor whisperx 项目报错 ValueError: The chosen ...
python报错 UnicodeEncodeError: 'gbk' codec can't encode character '\u...
python whisperx 报错 in load_align_model raise ValueError(f'The ch...
pyannote/embedding 模型是真难引入模型
Trae 或者是我自己 莫名奇妙创建了个文件,影响了项目代码的运行。
WhisperX 无法加载模型
HUGGINGFACE_HUB_CACHE 设置错误导致的问题
Trae的bug太多了,怪不得免费
通义之旅
通义之旅2
目标说话人声音提取模型训练的思路
python报错 can't convert cuda:0 device type tensor to numpy. Use Tenso...
Expected all tensors to be on the same device, but found at least two ...
腾讯元宝推荐的项目结构(音频处理项目)
音频处理项目fse
各种python 相关命令
python 报错 SyntaxError: 'return' outside function
python常用命令
腾讯编程助手
python一些扩展兼容安装的处理方案
Python 常用命令整理
魔塔社区 modelscope 常用命令
推荐内容