原因:Unix及类Unix系统里,每行结尾只有换行“\n”,Windows系统里面,每行结尾是换行+回车“\n\r”,编码格式不一样。
windows文件格式dos
linux文件格式unix
解决方法:修改文件的编码。
在linux上用vi打开文件
批量转换文件的编码当然是使用命令来转换咯,如果文件太多还可以写一个shell脚本进行批量转换,Linux系统中转换文件编码格式的命令是iconv。iconv命令的使用介绍一下,iconv命令很简单,记住它的三个参数就可以了,下面是它的三个参数:-f参数:表示from,就是原本的编码格式
-t参数:表示to,就是后来的新编码
-o参数:表示输出文件,就是转换编码后的新文件的文件名,如果没有这个参数新文件会将原来的文件覆盖掉。
下面是将GB2312编码的文件转换成UTF-8编码的例子:
iconv
-f
gb2312
-t
utf8
mygb2312.txt
-o
myutf8.txt
这个例子中mygb2412.txt就是要转换的文件,myutf8.txt就是转换后的新文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)