Linux语系编码转换和Windows文件移到Linux下常见问题

      (1): 将Windows下的源代码或别的文件挪到Linux下使用时,常常出现中文乱码情况。这种情况可以通过使用iconv命令来消除

        iconv  --list

       iconv -f 原来编码  -t 新编码 filename   [-o newfile]

比如:iconv -f gbk -t utf8 Test.txt > Test.txt.utf8 

参数:

--list::列出iconv支持的语系数据

-f     :from,后接原本的编码格式;

-t     :to,即后来的新编码要是什么格式

-o   file :如果要保留原本的文件,那么使用-o 新文件名,可以建立新编码文件

    另外还可以通过在vim下,通过 :set fileencoding和:set fileencoding=utf-8来达到转换命令,不过有时候不好用,还不知道情况


        (2):由于Windows下和Uni下的文件换行符不同,故将dos格式文件传输到unix系统时,会在每行的结尾多一个^M(/r),当然也有可能看不到。但是在vim的时候,会在下面显示此文件的格式,比如 "./GPSDistance.cpp [已转换][dos] 100L, 2345C  字样,表示是一个[dos]格式文件,如果是MAC系统的,会显示[MAC]。因为文件格式的原因有时会导致我们的unix程序,或者shell程序出现错误,那么需要把这些dos文件格式转换成unix格式,方法是

vim GPSDistance.cpp

这样:
:set fileformat=unix:x或者:wq
或者:
set ff? #显示当前文件格式
set ff=unix #设置成unix格式
set ff=dos #设置成dos格式

你可能感兴趣的:(windows,linux,乱码,vim,换行符)