fgg blog

: Unicode

wsl2_and_unicode

# 关于 locale,unicode,json.dump() 以及被冤枉的 WSL2

WSL2的 locale 一直是默认设置值 – “C.UTF-8”。然后今天用 python 解析路径文件中文名时, 最终保存下来的竟是 unicode ("\u5c0f\u6728\u4ed4-\u7761\u7740\u4e862"),这倒是破天荒第一 次碰上 :’) 为了省事,必须去找 GPT 阁下。

更新:下文是完全绕了远路了的。造成上述情况的实际原因应该是:json.dump() 默认参数中的 ensure_ascii=True,这就决定了写入文件的字符不会超出ASCII字符集。

所以,正确的修改方式不是大费周章的改写系统 locale 而是将参数改为 ensure_ascii=False

实际上,json.dump() 这部分的函数也是 GPT 阁下写的,它理所当然地认为是在英文语境中,使用 默认的参数不为过吧。😂