我有一个 AlmaLinux 服务器,我在其中遇到一些编码问题。例如,如果我在 CLI 中输入:
mkdir asdfü
ls ./
我明白了
'asdf'$'\303\274'
我怎样才能解决这个问题?
答案1
看起来您的终端已配置为以 UTF-8 编码的输入/输出,但您的 shell 会话处于具有不同字符集的语言环境中,其中字节 0303 和 0274(八进制)单独或组合不形成有效的可打印字符。最有可能的是,该语言环境是C
/ POSIX
(未定义或定义不正确时的默认语言环境),字符集是 ASCII(又名 ANSI_X3.4-1968),它没有为字节 0303 或 0274(0177 以上的任何字节)定义任何字符。
locale charmap
会告诉您区域设置中使用什么字符集。
locale
将向您显示区域设置配置。
您可能需要至少更改$LANG
为字符集为 UTF-8 并符合您的偏好的区域设置。
locale -a
将为您提供服务器上可用区域设置的列表。