我的工作环境中,服务器大部分都是Linux系统,办公电脑都是Windows。使用服务器的时候都是通过一个SSH客户端远程登录到Linux服务器上去操作,经常会发生因为系统环境变量设置不合适,导致有中文显示的地方会显示为乱码。
一个是运行程序后输出中文的时候,一个是用vi命令编辑一个有中文的文件的时候,一个是执行包含中文的Oracle脚本的时候。
要让运行程序后输出的中文正常显示,修改~/.bash_profile文件,增加下列行。
export LANG
LC_ALL=zh_CN.UTF-8;
export LC_ALL
要让vi命令编辑一个有中文的文件,需要修改~/.vimrc文件,添加
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,latin1
set termencoding=utf-8
如果上面两个文件改了以后还显示乱码,那就是SSH客户端的设置有问题,以SecureCRT为例,需要
Options -> Session Options -> Appearance ->Character encoding
设置为UTF-8
要在执行包含中文的Oracle脚本的时候正常显示中文,修改~/.bash_profile文件,增加:
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
export NLS_LANG