應用場景:
securecrt 連線 aix,檔案中文亂碼
亂碼原因:
涉及三個因素:作業系統的編碼、檔案編碼、終端編碼;三者出現了不相容或者不一致的情況。
為了簡單解決問題,建議把三者編碼設定成一致即可.
如果您的腦容量足夠大,可以考慮設定成三者相容的編碼。對於,普通工作者,建議您設定成一致即可。沒有必要在這裡耗費太多精力。
以下解決方案也不討論編碼相容問題,為了工作方便,凡是中文一律設定成utf-8。(有經驗的人,會明白如果定下乙個規矩,在多系統互動時候能夠節約多少工作量);其他編碼的設定思想同utf-8.
securecrt的設定思想,也可用應用到其他終端。
解決方案:
1.查實檔案編碼,如果無法查實,請通過編輯器設定為utf-8
aix中查實檔案編碼,目前無對應的命令(如果有知道的讀者,請一定告訴我)
多數人喜歡在windows環境編寫檔案後上傳至伺服器,如果這樣,建議您最好在編輯器中設定下編碼格式;這樣您就不用考慮查實檔案編碼的問題。
為了以後不再出現亂碼問題,建議大家都把編碼格式設定成utf-8;目前多數windows編輯器都支援設定檔案編碼。
2.查實作業系統編碼
2.1 查實 aix編碼
查詢目前系統的編碼
$locale
命令返回:
lang=en_us
lc_collate="en_us" 表示比較和排序習慣是
lc_ctype="en_us" 表示語言符號及其分類
lc_monetary="en_us" 表示貨幣單位是
lc_time="en_us" 表示時間顯示格式是
lc_messages="en_us" 表示提示資訊、選單、標籤、按鈕等是
lc_all=
en表示語言是英語,us表示地區是usa 美國
命令結果反饋,此aix設定的編碼都是en_us;那麼中文肯定要亂碼。
另外,從返回結果說明語言包是可以精準定製的,有引數細分。同時為了設定方便,aix對locale引數制定了優先順序lc_all>lc_*>lang
顯然,lc_all是最上級設定或者強制設定,而lang是預設設定值
如果,您嫌麻煩可以直接設定lc_all即可,如果您想特立獨行則可以用以上引數精準定製乙個系統(精準定製的時候,請別設定lc_all)
2.2 查詢aix已安裝的語言包
$locale -a
posix
zh_cn.utf-8
zh_cn
zh_hk
zh_tw.utf-8
zh_tw
en_us.8859-15
en_us.iso8859-1
en_us
命令結果反饋:此aix已安裝中文包,可以支援中文。如果,返回結果中沒有zh,那您需要安裝中文包。
2.3 設定當前語言編碼環境為:語言是中文,地區是中國,字元編碼utf-8
$export lc_all=zh_cn.utf-8
3.設定終端工具編碼
securecrt 編碼
選單依次選擇:選項-》會話選項,在彈出的對話方塊中選擇 終端-》外觀,接著在對話方塊右側的字元編碼設定編碼為utf-8
adb shell windows系統中文亂碼
參巧 在cmd下 1 chcp顯示936結果,2 chcp 65001 3 重啟adb shell目錄顯示中文還是亂碼。參巧 通過 adb shell 登入到 nook shell 後,列目錄的時候,如果有中文會亂碼。這是因為 nook 輸出是 utf8,而 windows的console 是系統缺...
Ubuntu Rhythmbox 解決中文亂碼
在這裡介紹的是乙個解決方法,修改變數。在終端輸入 gedit profile 在最後加入下面內容 exportgst id3 tag encoding gbk utf 8 gb18030 exportgst id3v2 tag encoding gbk utf 8 gb18030 儲存退出。sour...
解決 Flask sqlalchemy 中文亂碼
當在使用 flask sqlalchemy 操作 mysql 資料庫時中文亂碼或者直接報錯。解決方法如下 from flask sqlalchemy import sqlalchemy db sqlalchemy use native unicode utf8 配置 mysql 預設字元編碼為 ut...