SecureCRT 无法显示某些字符
SecureCRT could not display some character
由于某些原因,当我 ssh 进入 Linux 服务器时,SecureCRT 显示错误的 character/coding。
例如以下来自man route
Gateway
The gateway address or ’*’ if none set.
使用不同的终端软件(ZOC终端)
Gateway
The gateway address or ’*’ if none set.
ZOC 终端字符集是 ANSI/Windows/Latin 我和我为 SecureCRT 尝试过,但没有任何区别。
有什么想法吗?
这是 UTF-8 字符和 Linux "locale" 的问题。
对于现代 Linux 命令 locale charmap
通常应该给你 UTF-8
其他值可能有效但不会给你所有字符例如: ☎ ☐ ☑ ☒
这两个似乎都将终端设置为ISO-8859-1
,区别在于ZOC向主机发送了一个'LANG=en_GB'环境变量; SecureCRT 还没有。
您最好的解决方案是将您的终端模拟器设置为解释 UTF-8
字符集,然后如果可能的话让模拟器将变量 LANG=fr_FR.UTF-8
(或类似的)发送到 Linux。
如果您找不到如何在您最喜欢的模拟器中设置语言环境,您可以在登录后进行设置
$ export LANG=de_AT.UTF-8
显然,您需要根据您的位置和偏好选择正确的 LANG 设置。
尽管主机设置正确,但我仍然遇到 SecureCRT 的问题。通过设置 Session Options...-> Terminal -> Appearance -> Character Encoding from "Default" to "UTF-8".
解决了这个问题
由于某些原因,当我 ssh 进入 Linux 服务器时,SecureCRT 显示错误的 character/coding。
例如以下来自man route
Gateway
The gateway address or ’*’ if none set.
使用不同的终端软件(ZOC终端)
Gateway
The gateway address or ’*’ if none set.
ZOC 终端字符集是 ANSI/Windows/Latin 我和我为 SecureCRT 尝试过,但没有任何区别。
有什么想法吗?
这是 UTF-8 字符和 Linux "locale" 的问题。
对于现代 Linux 命令 locale charmap
通常应该给你 UTF-8
其他值可能有效但不会给你所有字符例如: ☎ ☐ ☑ ☒
这两个似乎都将终端设置为ISO-8859-1
,区别在于ZOC向主机发送了一个'LANG=en_GB'环境变量; SecureCRT 还没有。
您最好的解决方案是将您的终端模拟器设置为解释 UTF-8
字符集,然后如果可能的话让模拟器将变量 LANG=fr_FR.UTF-8
(或类似的)发送到 Linux。
如果您找不到如何在您最喜欢的模拟器中设置语言环境,您可以在登录后进行设置
$ export LANG=de_AT.UTF-8
显然,您需要根据您的位置和偏好选择正确的 LANG 设置。
尽管主机设置正确,但我仍然遇到 SecureCRT 的问题。通过设置 Session Options...-> Terminal -> Appearance -> Character Encoding from "Default" to "UTF-8".
解决了这个问题