[Bug] yaml io 读取和撰写文件,使用地方编码而不是UTF-8
作者: MohammadHijjawi97创建于 2026年9月17日更新于 2026年9月17日
说明
read yaml file'和write yaml file' call Path.read text ()' /write text ()' ,没有编码,所以它们跟随地方。 UTF-8 YAML 有非ASCII值在Windows cp1252上失败.
- 重现步骤
- 在一个首选编码不是UTF-8的主机上,写一个UTF-8 YAML文件,其中包含"咖啡".
- 调用`read yaml file'。
从 pathlib 导入路径
从 agno.utils.yaml io 导入为 yaml 文件
路径 = 路径 (“ cfg.yaml ”)
path.write bytes ("name: cafaé\n".encode ("utf-8")).
打印( 读取 yaml file( path) )• 预期行为
文件被解码为UTF-8并返回QQ"名":"咖啡"QQ.
实际行为
UnicodeDecodeError'(或用allow unicode=True'倾倒unicode时用`UnicodeEncodeError'写出)。
环境
- 操作系统:Windows 11
- Agno 版本: v3. 0. 10( 当前主)
- 其他环境细节:Python 3.13,地方编码cp1252
可能的解决办法(可选)
将编码='utf-8'”改为已读文本'和`已写文本'.
内容来源: agno-agi/agno