这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 | |||
note:spoony:export-lc_all-c [2017/01/25 15:07] 127.0.0.1 外部编辑 |
note:spoony:export-lc_all-c [2017/05/02 10:28] (当前版本) Spoony |
||
---|---|---|---|
行 107: | 行 107: | ||
LC_IDENTIFICATION="C" | LC_IDENTIFICATION="C" | ||
LC_ALL=C | LC_ALL=C | ||
+ | </code> | ||
+ | |||
+ | 解决mac terminal ssh连接linux乱码问题 | ||
+ | <code> | ||
+ | 一般情况下出现乱码的问题多半是服务器编码和本地Terminal编码不匹配导致的。下面列下解决的思路。 | ||
+ | |||
+ | 检测本地Terminal编码 | ||
+ | |||
+ | Terminal -> Preferences -> Ecodings 查看相应的编码: | ||
+ | |||
+ | |||
+ | mac os x terminal查看编码 | ||
+ | |||
+ | 从结果来看支付utf-8 | ||
+ | |||
+ | 查看服务器编码 | ||
+ | |||
+ | $ 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 | ||
+ | LC_CTYPE=UTF-8 | ||
+ | LC_NUMERIC="en_US.UTF-8" | ||
+ | LC_TIME="en_US.UTF-8" | ||
+ | LC_COLLATE="en_US.UTF-8" | ||
+ | LC_MONETARY="en_US.UTF-8" | ||
+ | LC_MESSAGES="en_US.UTF-8" | ||
+ | LC_PAPER="en_US.UTF-8" | ||
+ | LC_NAME="en_US.UTF-8" | ||
+ | LC_ADDRESS="en_US.UTF-8" | ||
+ | LC_TELEPHONE="en_US.UTF-8" | ||
+ | LC_MEASUREMENT="en_US.UTF-8" | ||
+ | LC_IDENTIFICATION="en_US.UTF-8" | ||
+ | LC_ALL= | ||
+ | 很奇怪,不知道为什么提示LC_CTYPE和LC_ALL这边两个找不到。其中,与中文输入关系最密切的就是 LC_CTYPE, LC_CTYPE 规定了系统内有效的字符以及这些字符的分类,诸如什么是大写字母,小写字母,大小写转换,标点符号、可打印字符和其他的字符属性等方面。而locale定义zh_CN中最最重要的一项就是定义了汉字(Class “hanzi”)这一个大类,当然也是用Unicode描述的,这就让中文字符在Linux系统中成为合法的有效字符,而且不论它们是用什么字符集编码的。 | ||
+ | |||
+ | 设置LC_TYPE | ||
+ | |||
+ | 因为服务器是运维人员配置,自己只是其中一个登录用户,所以修改用户目录下的 ~/.bash_profile 文件。在末尾增加 | ||
+ | |||
+ | export LC_CTYPE=en_US.UTF-8 | ||
+ | source重新引入一下或者重新连接登录 | ||
+ | |||
+ | $ source ~/.bash_profile | ||
+ | 再次查看locale,就正常了 | ||
+ | |||
+ | $ locale | ||
+ | LANG=en_US.UTF-8 | ||
+ | LC_CTYPE=en_US.UTF-8 | ||
+ | LC_NUMERIC="en_US.UTF-8" | ||
+ | LC_TIME="en_US.UTF-8" | ||
+ | LC_COLLATE="en_US.UTF-8" | ||
+ | LC_MONETARY="en_US.UTF-8" | ||
+ | LC_MESSAGES="en_US.UTF-8" | ||
+ | LC_PAPER="en_US.UTF-8" | ||
+ | LC_NAME="en_US.UTF-8" | ||
+ | LC_ADDRESS="en_US.UTF-8" | ||
+ | LC_TELEPHONE="en_US.UTF-8" | ||
+ | LC_MEASUREMENT="en_US.UTF-8" | ||
+ | LC_IDENTIFICATION="en_US.UTF-8" | ||
+ | LC_ALL= | ||
+ | 后面新建中文命令,查看带中文的文件就都正常了。 | ||
+ | |||
+ | 小结 | ||
+ | |||
+ | 这边还有一个疑问,这里我只是设置了LC_CTYPE=en_US.UTF-8,而不是设置为LC_CTYPE=zh_CN.UTF-8,但是一样可以正常查看中文,非常不解。后续详细了解一下再发上来吧。 | ||
</code> | </code> |