现在Xshell和SecureCRT都要收费,本着不用盗版的原则,同时需要标签管理session,快捷命令等功能,最后选择了MobaXterm。
但是使用后发现中文会乱码。后按照博客的方法,修改了终端字体,从UTF8修改为ISO-8859-2,发现之前会乱码的现在不会乱码了,但是之前不会乱码的现在又变为乱码了。。。
最后仔细分析乱码的情况,发现:
- less查看中文会乱码
- less输入中文(搜索)也会乱码
- vim不会乱码
- python print会乱码
- bash echo不会乱码
解决方法:
- 设置
export LESSCHARSET=UTF-8
后less显示不会乱码了 - 设置
export LANG=zh_CN.UTF-8
后less搜索不会乱码了 - python2的print不会乱码,python3 print会乱码。所以print之前设置print的编码:
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
- MobaXterm设置session字体设置为utf8