Linux系统中gb2312与utf8相互切换

先修改用户配置文件.bash_profile
输入或复制粘贴下面内容
export LC_CTYPE=zh_CN.GB2312
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
 
下面的2个命令组合,先更改 bash 的 locale 设置,然后通过”escape sequence”通知 rxvt-unicode 程序,现在这个 session 的 locale 设置已经被改成了 zh_CN.GB2312:
export LC_CTYPE=zh_CN.gb2312; printf "\33]701;$LC_CTYPE\007"
这样,你就实时的得到一个 zh_CN.GB2312 的环境,可以对 zh_CN.GB2312 的文件进行正确的显式和操作了。
如果需要转回到 zh_CN.UTF-8 的模式,则可以通过如下的命令来实现:
export LC_CTYPE=zh_CN.utf8; printf "\33]701;$LC_CTYPE\007"
 
每次敲这么长的命令挺烦人的,我用的方法是把上面的这 2 个命令集合分别存成 .bash.gb 和 .bash.utf-8 两个文件,放到我的 home 目录。
如果我需要实时得到一个 GB2312 的 rxvt-unicode session,我就运行:
somewhere > source ~/.bash.gb
如果我需要实时得到一个 UTF-8 的 rxvt-unicode session,我就运行:
somewhere > source ~/.bash.utf-8
这样就省却了很多敲键盘或者 copy/paste 的时间。:)
原文地址:https://www.cnblogs.com/anuoruibo/p/2696366.html