Linux与Windows的文本文件格式转换,解决中文乱码和换行问题
2011-09-30 13:34
731 查看
有时候需要在windows下查看Linux下的文本文件,但是会出现中文乱码和换行符的问题。这是因为Windows和Linux下的文件编码格式不同造成的。要解决此问题我使用如下方法:
首先下载dos2unix和unix2dos这两个软件,ubuntu中下载:
sudo apt-get install dos2unix;sudo apt-get unix2dos
在linux下可以这样转换换行格式:
unix2dos -k -n File1 File2
参数:
-k : 保留该文件原来的mtime时间格式(不更新文件上次内容经过修改的时间)
-n : 保留原来的旧文件,将转换后的内容输出到新文件,如:dos2unix -n old new
解决中文乱码问题
iconv -f UTF-8 -t GBK File1 -o File2
(File1是源文件,File2是你想转换成的文件)
知识普及:
window文件换行是 “/r/n”, 而Linux文件的换行是 “/n”, 所以将文件从window 下直接复制到 Linux 和就有问题。 用vim 打开挥发现 ^M 的字符在每一行尾。
但是好多软件,会直接去处理这些区别。 比如notepad++, 会打开文件如果发现是“/r” 或者是“/r/n” 都会显示新行。 perforce 也对此有处理,比如先将文件从window下提交到perforce,然后再从perforce同步到Linux/Unix平台下, perforce 会自动转换“/r/n” 到“/n“;反之,文件从Linux提交到perforce, 在同步到Windows, 这是perforce把“/n” 转换为“/r/n”。
首先下载dos2unix和unix2dos这两个软件,ubuntu中下载:
sudo apt-get install dos2unix;sudo apt-get unix2dos
在linux下可以这样转换换行格式:
unix2dos -k -n File1 File2
参数:
-k : 保留该文件原来的mtime时间格式(不更新文件上次内容经过修改的时间)
-n : 保留原来的旧文件,将转换后的内容输出到新文件,如:dos2unix -n old new
解决中文乱码问题
iconv -f UTF-8 -t GBK File1 -o File2
(File1是源文件,File2是你想转换成的文件)
知识普及:
window文件换行是 “/r/n”, 而Linux文件的换行是 “/n”, 所以将文件从window 下直接复制到 Linux 和就有问题。 用vim 打开挥发现 ^M 的字符在每一行尾。
但是好多软件,会直接去处理这些区别。 比如notepad++, 会打开文件如果发现是“/r” 或者是“/r/n” 都会显示新行。 perforce 也对此有处理,比如先将文件从window下提交到perforce,然后再从perforce同步到Linux/Unix平台下, perforce 会自动转换“/r/n” 到“/n“;反之,文件从Linux提交到perforce, 在同步到Windows, 这是perforce把“/n” 转换为“/r/n”。
相关文章推荐
- Linux/Windows下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题)
- 解决windows传送到linux下中文文件名及文件内容乱码问题
- windows下Qt代码移植到linux下的中文乱码问题解决
- 解决Windows下Arm下Linux下Qt4程序的中文乱码问题
- 俺的gVim配置文件(解决了菜单栏,右键菜单和提示框中文乱码问题)(for windows,linux下应该也没问题)
- linux下将中文文件名文件cp到windows目录下后文件名乱码问题的解决
- mysql出现中文乱码或不能输入中文问题的Windows或Linux系统解决方法
- 解决在linux下用eclipse打开windows文本文件产生中文乱码的问题
- mysql--出现中文乱码或不能输入中文问题的Windows或Linux系统解决方法
- Linux_解决windows传送到linux下中文文件名及文件内容乱码问题
- linux下将中文文件名文件cp到windows目录下后文件名乱码问题的解决
- 关于解决Mysql中文乱码问题处理,Windows\Linux\Unix
- 解决Linux下挂载Windows分区中文乱码问题
- 解决windows传送到linux下中文文件名及文件内容乱码问题
- 解决Linux下中文乱码问题
- Cocos2d-x程序Windows下VC中文乱码的解决(用MultiByteToWideChar进行转换,VC2010有非常厉害的execution_character_set)
- 解决在LINUX下打开windowsTXT文件乱码的问题
- linux 中文包安装 和 解决终端乱码问题
- 解决linux下挂载windows的FAT32格式文件系统乱码问题
- Linux下MySQL 5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)