"setlocale: LC_CTYPE: cannot change locale (UTF-8)" 使用 MacOS/iTerm2/ZSH 连接到 AWS EC2 服务器时
"setlocale: LC_CTYPE: cannot change locale (UTF-8)" when connection to AWS EC2 servers with MacOS/iTerm2/ZSH
有许多相关问题,但 none 个答案解决了这个具体案例:
我在 MacOS 上,使用 iTerm2 和 ZSH。
任何带有 Amazon 图像(可能还有其他图像)的 AWS EC2 实例在使用 SSH 连接到它们时都会向我显示该行:
setlocale: LC_CTYPE: cannot change locale (UTF-8)
这个问题的常见答案似乎是在服务器上进行修复。但这不是我要找的,我想在客户端上进行修复(因为我们经常创建和销毁 EC2 实例)。
我已经尝试将其添加到我的 .zshrc 文件中:
export LC_CTYPE=UTF-8
我想如果它已经设置为该语言环境,它就不会抱怨。但这没有用。
在iTerm2中,有一个选项:
我试图禁用它,但也没有改变。
如何解决这个问题?
“UTF-8”看起来像是字符集的名称,而不是语言环境的名称。这可能是 macOS 上的有效语言环境,但可能不在 EC2 服务器上。在 Linux 系统上,您可以使用 locale -a
列出可用的语言环境。尝试像 en_US.UTF-8
或 C.UTF-8
这样的值。如果可用,后者可能更可取。
从 .zprofile
设置它可能比 .zshrc
更好,并且可能只有在现有值为“UTF-8”时才有条件:
[[ $LC_CTYPE = UTF-8 ]] && LC_CTYPE=C.UTF-8
有许多相关问题,但 none 个答案解决了这个具体案例:
我在 MacOS 上,使用 iTerm2 和 ZSH。
任何带有 Amazon 图像(可能还有其他图像)的 AWS EC2 实例在使用 SSH 连接到它们时都会向我显示该行:
setlocale: LC_CTYPE: cannot change locale (UTF-8)
这个问题的常见答案似乎是在服务器上进行修复。但这不是我要找的,我想在客户端上进行修复(因为我们经常创建和销毁 EC2 实例)。
我已经尝试将其添加到我的 .zshrc 文件中:
export LC_CTYPE=UTF-8
我想如果它已经设置为该语言环境,它就不会抱怨。但这没有用。
在iTerm2中,有一个选项:
我试图禁用它,但也没有改变。
如何解决这个问题?
“UTF-8”看起来像是字符集的名称,而不是语言环境的名称。这可能是 macOS 上的有效语言环境,但可能不在 EC2 服务器上。在 Linux 系统上,您可以使用 locale -a
列出可用的语言环境。尝试像 en_US.UTF-8
或 C.UTF-8
这样的值。如果可用,后者可能更可取。
从 .zprofile
设置它可能比 .zshrc
更好,并且可能只有在现有值为“UTF-8”时才有条件:
[[ $LC_CTYPE = UTF-8 ]] && LC_CTYPE=C.UTF-8