跨平台文件编码和换行问题的解决办法
使用windows编辑,会有回车问题和编码问题。
换行问题: win 换行 \r\n linux 换行 \n mac 换行 \r 。很多工具在这方面不兼容,比如shell。
编码问题: linux 默认使用utf-8 (without bom),win 默认gbk。 linux下直接打开win文档会中文乱码。
win打开linux 乱码可能性比较小兼容做的比较好。
下列软件可以解决编码问题和回车问题
fromdos 命令解决换行问题。
enca 工具可以查看文件编码。
enca 、 enconv 、 iconv 可以转换编码。
convmv 可以解决 文件名乱码。
命令安装以及使用方法:
apt-get install tofrodos
tofrodos 包含两个命令 todos fromdos 处理回车问题。 dos 是 win 前身,字面意思理解即可。
todos *.c
fromdos *.h
该软件不提供文件夹递归操作 。 此命令可以完成: find -name "*.sh" | xargs -0 fromdos
apt-get install enca
enca 命令可能会遇到语言识别问题,可以添加 -l zh_cn (中文编码)解决。
enca -l zh_cn -x utf-8 test.txt // -l 语言 -x 目标编码
enca -l zh_cn -x utf-8 <oldname.txt> newname.txt // -l 语言 -x 目标编码 不删除oldfile
enconv -l zh_cn -x utf-8 test.txt // -l 语言 -x 目标编码
enconv -l zh_cn -x gb2312 test.txt // -l 语言 -x 目标编码
iconv -f utf-8 -t gbk file1 -o file2 // -f 原本编码 -t 目标编码
apt-get install convmv
convmv -f gbk -t utf-8 *.mp3 // -f 原本编码 -t 目标编码 -r 目录下所有文件
推荐阅读
-
跨平台文件编码和换行问题的解决办法
-
跨平台文件编码和换行问题的解决办法
-
(终极解决办法)Android sdk manager就算配置了代理,也只有Tools单个文件(解决eclipse配置Android的sdk时只有Tools和extras的问题)
-
MATLAB的.m文件使用iconv工具在windows和linux平台下编码的批量转换
-
mysql的忘记密码、无法启动和socket文件丢失等错误问题的解决办法
-
php 中require和include引用url和 php的文件编码转换函数问题
-
php 中require和include引用url和 php的文件编码转换函数问题_PHP教程
-
MATLAB的.m文件使用iconv工具在windows和linux平台下编码的批量转换
-
(终极解决办法)Android sdk manager就算配置了代理,也只有Tools单个文件(解决eclipse配置Android的sdk时只有Tools和extras的问题)
-
mysql的忘记密码、无法启动和socket文件丢失等错误问题的解决办法