Linux 字元編碼 檢視與轉換

Rocky_Ansi發表於2017-04-26

Linux 檢視檔案編碼格式

  1. Vim 檢視檔案編碼

    set fileencoding   // 即可顯示檔案編碼格式

    若想解決Vim檢視檔案亂碼問題, 可以在 .vimrc 檔案新增

    set encoding=utf-8   fileencoding=utf-8, cp936,gb2312 等
  2. enca (yum install enca) 檢視檔案編碼

        enca   filename   // enca對某些GBK編碼檔案並不識別  Unrecognized encoding

檔案編碼轉化

  1. Vim直接轉化檔案編碼

    set fileencoding=utf-8
  2. iconv

    iconv -f encoding -t encoding inputfile

    例如: 將一個utf-8 編碼轉化為GBK編碼

    iconv -f utf-8  -t gbk  file -o file2
    iconv命令用於轉換指定檔案的編碼,預設輸出到標準輸出裝置,亦可指定輸出檔案。 
    用法: 
            iconv [選項...] [檔案...]  
    有如下選項可用:  
      輸入/輸出格式規範:  
          -f, --from-code=名稱 原始文字編碼 
          -t, --to-code=名稱 輸出編碼  
      資訊: 
          -l, --list 列舉所有已知的字符集    
      輸出控制: 
          -c 從輸出中忽略無效的字元  
          -o, --output=FILE 輸出檔案  
          -s, --silent 關閉警告  
          --verbose 列印進度資訊  
          -?, --help 給出該系統求助列表  
          --usage 給出簡要的用法資訊 
          -V, --version 列印程式版本號    
        例子:  
            iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt  
        這個命令讀取aaa.txt檔案,從utf-8編碼轉換為gb2312編碼,其輸出定向到bbb.txt檔案。
  3. enconv
    將一個GBK編碼轉化為 utf-8編碼

    enconv -L zh_CN -x utf-8 filename
  4. dos2unix : window 檔案 cpoy 到 linux 格式轉化
    • DOS下的文字檔案是以\r\n作為斷行標誌的
    • Mac文字是以 \r 作為換行標誌
    • Linux文字以 \n 作為換行標誌
    dos2unix filename

相關文章