将文本文件中的字符编码从GB2312转换成为UTF-8,包括子目录中的文件
2010-11-20 22:54
281 查看
昨天由于某些原因需要把一个java的项目从windows搬迁到linux进行开发,由于当时在windows上用eclipse建立的项目,建立时没有设置编码,因此项目使用了windows默认的GB2312编码,所以在所有的java源代码中输入的中文内容都时GB2312的内容,当搬到Linux下后默认采用了UTF-8的编码方式,所以看见的源代码中的中文内容就成了乱码,当然如果把linux的默认编码切换成GB2312或者给eclipse提供GB2312的支持也是可以的,只是与linux的使用习惯不太融合。于是便有了题目中的需求。
这里采用如下的一个组合命令来完成这个操作,命令如下:
touch iconv.tmp && find . -iname "*.java" -exec iconv -f gbk -t utf-8 '{}' -o iconv.tmp /; -exec mv iconv.tmp '{}' /;
这条命令能够将当前目录及其子目录中的所有扩展名为java的文本文件进行转码。其思路时通过find对当前目录中的java文件进行列举,然后通过touch产生一个临时文件,使用iconv进行转码,将转码后的内容输出到临时文件,最后使用mv进行文件的移动,并且将移动后的文件名字设为原始文件的名字,这样原始文件就别覆盖了。于是转码工作完成了。
这个笔记值得一记,^_^
这里采用如下的一个组合命令来完成这个操作,命令如下:
touch iconv.tmp && find . -iname "*.java" -exec iconv -f gbk -t utf-8 '{}' -o iconv.tmp /; -exec mv iconv.tmp '{}' /;
这条命令能够将当前目录及其子目录中的所有扩展名为java的文本文件进行转码。其思路时通过find对当前目录中的java文件进行列举,然后通过touch产生一个临时文件,使用iconv进行转码,将转码后的内容输出到临时文件,最后使用mv进行文件的移动,并且将移动后的文件名字设为原始文件的名字,这样原始文件就别覆盖了。于是转码工作完成了。
这个笔记值得一记,^_^
相关文章推荐
- 将文本文件中的字符编码从GB2312转换成为UTF-8,包括子目录中的文件
- 【转】将文本文件中的字符编码从GB2312转换成为UTF-8,包括子目录中的文件
- Linux从zh_CN.GB2312迁移到zh_CN.UTF-8 - 包括 文件内容编码转换,文件名编码转换..
- gb2312的php文件转换为utf-8格式后的一个错误
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
- iconv将文件编码从gb2312 转换为utf-8
- form提交时的字符编码转换之utf-8转gb2312
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
- Source Insight 将UTF-8格式的JAVA文件转换为GB2312格式的JAVA文件
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码 及 转换
- 把当前目录和子目录下的java文件,从GBK转换成UTF-8字符集的shell脚本
- 字符编码和python使用encode,decode转换utf-8, gbk, gb2312的问题
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?[转]
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
- Spark读取HDFS文件,文件格式为GB2312,转换为UTF-8
- 【转】[转贴]字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?(...
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?