使用luit转换终端的编码方式

Tilda是个好东西:后台运行,快捷键调出,依赖的软件包小,真是居家旅行,放火杀人必备之良药啊……

可惜tilda有个问题,不支持编码方式的转换。不像konsole、gnome-terminal之类大而全的终端自带了编码转换功能,tilda只能显示系统默认的编码,在使用ssh远程登录gbk编码的主机时,中文会出现乱码。

以前都是勉强把qterm当ssh客户端。但是前几天换成了gentoo-cn overlay里面的0.5.2版之后,每次系统响铃的时候窗口就晃(QT4支持的窗口特效??),晃完终端就像断线一样没反应了。终于忍不住,去水木上问了问这个问题。 cppgx大牛给出了一个命令,真是如获至宝啊~~

luit - Locale and ISO 2022 support for Unicode terminals

luit能起到一个终端输入和输出的编码转换器的作用,比如说,你ssh到远程gbk编码的主机上,你的输入是UTF-8编码的,如果此时你在远程主机上创建一个中文文件夹,在远程主机上显示的就是一个乱码文件夹了。但是在luit的帮助下,就可以把你输入的utf-8编码的字符转换成gbk编码传递给ssh客户端,然后再在远程创建。你输入ls后,luit再把远程传递的gbk编码的字符再转换回UTF-8显示在你的终端里。

具体的使用方法:首先luit -list查看支持的中文编码有哪些。一般来说有gb2312和gbk等等。我的系统上不知道为啥只有gb2312。然后终端执行luit -encoding gb2312来切换编码方式。此时ls查看本地的UTF-8编码的文件夹时应该是乱码了。此时ssh远程到gbk主机,乱码已经消失了。exit或者^D退出luit。

也可以用luit -encoding gb2312 ssh username@ssh-host的方法来单独启动一个需要转换编码的程序。

tilda+luit如虎添翼啊……

如果你喜欢这篇日志的话,欢迎订阅我的RSS Feed!
本文来源于一阁Blog。版权所有,转载请确保已阅读该页面

4 Responses to “使用luit转换终端的编码方式”


  1. 1 Ant

    我的tilda快捷键呼出后不能自动获得焦点,得鼠标点一下才行。你的会么?

  2. 2 yegle

    我的tilda快捷键呼出后不能自动获得焦点,得鼠标点一下才行。你的会么?

    这个和窗口管理器的设置有关,在tilda网站上有说,去看看吧

  3. 3 独立的圆

    先运行一下export LANG=zh_CN.gbk,再启动tilda,
    tilda就会自动使用gbk编码

  4. 4 yegle

    先运行一下export LANG=zh_CN.gbk,再启动tilda,
    tilda就会自动使用gbk编码

    不太灵活,还是luit方便点,直接写个alias就可以不用手动输luit命令了

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">

Quote selected text