Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux操作系統下的終端亂碼

Linux操作系統下的終端亂碼

日期:2017/2/7 9:23:12      編輯:Linux教程

在使用linux的終端工具SecureCRT的時候,每次提交SVN想輸入中文日志的時候總是輸不了中文。

  svn ci -m "" 這時候兩個引號之間就是沒有辦法輸入中文。

  後來跟其他同學請教,找了一個終極解決方案

  要先保證SecureCRT是UTF8格式的,設置:選項-會話選項-終端-外觀的字符編碼,選擇utf-8

  首先,在/home/yourname下面建立一個文件。vimrc,然後這個文件中寫入如下代碼

  1 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

  2 set termencoding=utf-8

  3 set encoding=utf-8

  4 set fileencodings=ucs-bom,utf-8,cp936

  5 set fileencoding=utf-8

  6 set nohls

  7 set nu

  8 filetype on

  9 syntax on

  10 set tabstop=4

  11 set shiftwidth=4

  12 set autoindent

  13 set smartindent

  14 set showmatch

  15 set ruler

  16

  上代碼的大概含義就是終端支持UTF8,也就是可以支持中文。

  然後再命令行執行如下命令

  [yourname@root]$ export LANG=zh_CN.UTF-8

  再試試

  [yourname@root]$ svn ci -m "提交中文提示"

  如果想SSH客戶端啟動的時候,就執行export LANG=zh_CN.UTF-8,需要在/home/yourname尋找。bash_profile文件,然後用vim修改之

  14:14 [[email protected]]$ vim .bash_profile

  1 # .bash_profile

  2

  3 # Get the aliases and functions

  4 if [ -f ~/.bashrc ]; then

  5 . ~/.bashrc

  6 fi

  7

  8 # User specific environment and startup programs

  9

  10 PATH=$PATH:$HOME/bin

  11

  12 export PATH

  13 unset USERNAME

  14 export LANG=zh_CN.UTF-8

  保存後,重新啟動SSH客戶端,這樣以後每次啟動客戶端的時候就自動執行export LANG=zh_CN.UTF-8。

  大功告成鳥。

  Linux中使用export命令設置環境變量

  下面復制一篇網上的文章

  export LANG=zh_CN.UTF-8

  export LANG=en_US

  ===============================================================================================

  ===============================================================================================

  初入linux的程序員們,經常會受到亂碼的問候。可謂“始亂終棄”。因為亂碼,並且最終放棄了linux的不在少數。好吧,言歸正傳,先看看各類亂碼是怎麼形成的。

  中文字符亂碼

  這種情況一般是安裝了中文控制端,但沒有啟用中文應用造成的。只需要啟動相應軟件即可,如zhcon。或者是啟用了相應軟件,但字符集不對,需設置相應字符集,例如export LANG=zh_CN.UTF-8

  ORACLE安裝界面亂碼

  雖說ORACLE支持多國語言,會根據環境變量自動選擇字符集,但中文安裝好像還有問題,不過10.2以後的版本好像沒有該問題了,具體可以執行命令export LANG=en_US來設置為英文字符集環境

  英文字符亂碼

  一般該字符亂碼多出現在cat了二進制的文件時,因為二進制文件中多有控制碼,會導致終端界面亂碼,通常解決方法是用reset終端復位命令解決問題[nextpage]

  其他偽終端亂碼

  有時是通過SSH進入遠程LINUX服務器時,cat一個core文件,並且用reset命令都不能成功,怎麼辦?很簡單,看以下試驗,首先cat一個python的編譯文件

  oracle@linux-suse:~> cat fibo.pyc

  m?

  {?鲱c@sd

  Zd

  ZdS(cCs:d\}}x'  jo G   }}qWdS(Nii(ii(tatbtn(RRR((tfibo.pytfibs

  cCsIg}d\}}x0  jo" i    }}qW S(Nii(ii(tresultRRRtappend(RRRR((Rtfib2 s

  N(RR(RR((Rt?s oracle@linux-suse:~> VT102VT102

  \-bash: VT102VT102: command not found

  oracle@linux-suse:~>

  在SSH終端上看到是的亂碼,提示符都是亂的,可以用以下命令恢復

  oracle@linux-suse:~> tput sgr0

  亂碼問題產生的原因是SSH的問題,因為在其他終端下,cat用樣一個文件,不會產生亂碼,於是試驗亂碼產生的原因

  oracle@linux-suse:~> ^N

  只要用ctrl+v,ctrl+n就使用屏幕亂碼,當然恢復後再試驗

  oracle@linux-suse:~> echo -e '\xe'

  屏幕再次亂碼,好,再恢復

  oracle@linux-suse:~> echo -e '\xf'

  以上是需要盲打的,因為屏上看到的是亂碼,最終問題產生的原因是十六進制字符E產生的,解決也很簡單,十六進制字符F即可

Copyright © Windows教程網 All Rights Reserved