程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Linux系統下終端亂碼終極解決方法

Linux系統下終端亂碼終極解決方法

編輯:更多關於編程

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

    中文字符亂碼

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

    ORACLE安裝界面亂碼

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

    英文字符亂碼

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

    其他偽終端亂碼

    有時是通過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即可

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved