一、亂碼的原因
亂碼是編碼不統一引起的,有下面一些地方需要注意
1. Linux 系統默認支持的語系數據:這與 /etc/sysconfig/i18n 有關;
2. 你的終端界面 (bash) 的語系: 這與 LANG 這個變數有關;
3. 你的檔案原本的編碼;可用file指令查看
4. 開啟終端機的軟件,例如在 GNOME 底下的窗口接口。
二、dos和unix下文檔的轉換
dos和unix下的換行定義不同,dos下是\r\n, unix下是\n
dos2unix [-kn] file [newfile]
unix2dos [-kn] file [newfile]
選項與參數:
-k :保留該檔案原本的 mtime 時間格式 (不更新檔案上次內容經過修訂的時間)
-n :保留原本的舊檔,將轉換後的內容輸出到新檔案,
三、編碼轉換
iconv --list
iconv -f 原本編碼 -t 新編碼 filename [-o newfile]
選項與參數:
--list :列出 iconv 支持的語系數據
-f :from ,原本的編碼格式;
-t :to ,新編碼格式;
-o file:是否要保留原本的檔案,使用 -o 新檔名,可以建立新編碼檔案。