批量查詢文件的編碼格式


  在做軟件開發的時候,文件編碼格式統一,特別是配置文件編碼格式的統一非常的重要。編碼不統一容易導致顯示亂碼等問題。

  在linux環境下,我們想查詢某個文件的編碼,可用借助vim,通過Vim打開文件,輸入:set fileencoding可用顯示出當前的編碼格式是utf-8抑或cp936。當然前提是Vim可用識別的編碼,通過輸入命令:set fileencodings 查看vim支持多少種編碼,另外可以通過 :set fileencodings=*** 的方式設置可識別的編碼格式以及優先順序。

  以上方法在識別單文件的情況下足夠用了,但是識別多個文件的時候,就非常的麻煩了。這里推薦使用enca,來批量化的識別各種文件,以下是使用介紹:

  安裝:

$ sudo yum install enca -y

  使用:

$ enca -L chinese -g *.csv > encode.txt

  -L 選項是指定識別的語言,支持的語言可用由如下命令展示:

$ enca --list languages
belarusian: CP1251 IBM866 ISO-8859-5 KOI8-UNI maccyr IBM855 KOI8-U
 bulgarian: CP1251 ISO-8859-5 IBM855 maccyr ECMA-113
     czech: ISO-8859-2 CP1250 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
  estonian: ISO-8859-4 CP1257 IBM775 ISO-8859-13 macce baltic
  croatian: CP1250 ISO-8859-2 IBM852 macce CORK
 hungarian: ISO-8859-2 CP1250 IBM852 macce CORK
lithuanian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
   latvian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic
    polish: ISO-8859-2 CP1250 IBM852 macce ISO-8859-13 ISO-8859-16 baltic CORK
   russian: KOI8-R CP1251 ISO-8859-5 IBM866 maccyr
    slovak: CP1250 ISO-8859-2 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK
   slovene: ISO-8859-2 CP1250 IBM852 macce CORK
 ukrainian: CP1251 IBM855 ISO-8859-5 CP1125 KOI8-U maccyr
   chinese: GBK BIG5 HZ
      none:

  Utf-8和Unicode編碼不需要特殊指定語言,另外-L不可指定多個語言,如果使用“-L ukrainian -L chinese”的方式來執行,后面指定的語言會覆蓋前面的結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM