问题描述:
由于在我的mac下使用的是中文(因为我们公司也有windows的,用英文的有时候传文件会有编码问题)。所以在打开secureCRT的时候,它会自动使用系统编码,也就是gb2312。而在mac自带终端中有这样一项“启动时设置locale环境变量”,所以虽然我是中文系统,但是系统自带终端还是utf-8,没有任何问题。
问题原因:
打开secureCRT的时候,它会自动使用系统编码,也就是gb2312。受系统启发,我也可以在打开secureCRT时设置locale环境变量。
问题解决:
这里先列出步骤,文后附图。
1. 打开SecureCRT,按下Command(⌘)+,(逗号)
或者在菜单中选择Options-->Global Options
打开 Global Options(全局配置)
2. 在左边Category 菜单,依次General–>Default Session
3. 在右边菜单下方中,点击Edit Default Settings…
4. 在新打开的窗口中,左边选择Connection–>Logon Actions
5. 右边勾选 Automate Logon
6. 在下面列表中,添加 expect 填写 $
,send 填写 export LANG="zh_CN.UTF-8"
7. 再添加一项,expect 填写 $
,send 填写 clear
,确定即可。
8. 现在用Command(⌘)+l(L)
打开本地终端,输入locale查看编码,已经是utf-8了。
注:也可以在这里添加其它命令,比如切换目录等等实现自动操作。
其实它的原理和 #!/usr/bin/expect -f
是一样的。
图片配置如下:
查看编码
MachineName:~ UserName$ locale
LANG="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_CTYPE="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_ALL=