我的工作環境中,服務器大部分都是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