Pydantic json 方法(Python)中的西里尔符号编码不正确

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

问题的简单例子如下:

from pydantic import BaseModel

class City(BaseModel):
    name: str

city = City(name="Город")
print(city)  # name='Город'
print(city.json())  # {"name": "\u0413\u043e\u0440\u043e\u0434"}

我的系统信息:

  • Windows 11
  • Python 3.11.3
  • Pydantic 1.10.7
  • 文件.py编码为UTF-8

问题仍然存在于任何 chcp 选项(控制台编码):866、1251、65001。如果我尝试将 json() 输出写入 txt 文件,输出是相同的 \u0413\u043e\u0440\u043e\u0434。如果您能帮助我解决根本问题,我将不胜感激。我希望此代码输出带有适当西里尔符号的纯 json。

我试过:

  • 更改 chcp 选项
  • 更改 Windows 语言设置
  • 更改 .py 文件编码
  • 重新安装 Python
python json encoding pydantic cyrillic
© www.soinside.com 2019 - 2024. All rights reserved.