artaxerxe Asked: 2021-10-29 05:34:57 +0800 CST2021-10-29 05:34:57 +0800 CST 2021-10-29 05:34:57 +0800 CST 为什么特殊字符在命令行中转义 772 我有一个 AlmaLinux 服务器,我在其中遇到了一些编码问题。例如,如果我在 CLI 中键入: mkdir asdfü ls ./ 我明白了 'asdf'$'\303\274' 我怎样才能解决这个问题? centos character-encoding 1 个回答 Voted Best Answer Stéphane Chazelas 2021-10-29T06:17:12+08:002021-10-29T06:17:12+08:00 看起来您的终端配置为输入/输出以 UTF-8 编码,但您的 shell 会话位于具有不同字符集的语言环境中,其中字节 0303 和 0274(八进制),单独或组合不形成有效的可打印字符。最有可能的是,该语言环境是C/ POSIX(未定义或定义不正确时的默认语言环境),并且字符集是 ASCII(又名 ANSI_X3.4-1968),它没有为字节 0303 和 0274(0177 以上的任何字节)定义任何字符。 locale charmap 将告诉您在语言环境中使用什么字符集。 locale 将向您显示语言环境配置。 您可能希望至少更改为$LANG字符集为 UTF-8 且符合您的偏好的语言环境。 locale -a 将为您提供服务器上可用语言环境的列表。
看起来您的终端配置为输入/输出以 UTF-8 编码,但您的 shell 会话位于具有不同字符集的语言环境中,其中字节 0303 和 0274(八进制),单独或组合不形成有效的可打印字符。最有可能的是,该语言环境是
C
/POSIX
(未定义或定义不正确时的默认语言环境),并且字符集是 ASCII(又名 ANSI_X3.4-1968),它没有为字节 0303 和 0274(0177 以上的任何字节)定义任何字符。将告诉您在语言环境中使用什么字符集。
将向您显示语言环境配置。
您可能希望至少更改为
$LANG
字符集为 UTF-8 且符合您的偏好的语言环境。将为您提供服务器上可用语言环境的列表。