我有一个zsh
shell(带有 oh-my-zsh 默认配置)。为什么我的ls
文件名带有特殊字符,它们打印为:
''$'\316\262''=0.35-L=32-m=10.jld2'
这应该是:
β=0.35-L=32-m=10.jld2
但β
似乎甩掉了ls
。有没有办法来解决这个问题?
更新:正如评论中所建议的,这是我的输出locale
:
(base) ➜ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=fr_FR.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8
LC_ALL=
那里似乎有一个错误。有什么建议么?
答案1
为了回答我自己的问题,设置
export LC_ALL="en_US.UTF-8"
在我的.zshrc
文件中解决了这个问题!
答案2
正如@kusalananda 所指出的,问题可能是您的语言环境。你的LC_*
变量的值是多少(例如LC_ALL
)?
我设法通过设置重现该问题LC_ALL=C
。
要更改您的区域设置,您可以使用以下localectl
命令:
localectl list-locales
localectl set-locale
或者在您的中设置环境变量.zshrc
:
LC_ALL=en_US.UTF-8