背景:
写android程序,在windows下默认创建的是gbk编码的,后来将程序倒腾到Linux下,发现所有中文字符全部乱码!
原来linux的默认编码是utf-8(我是linux小白)!
一个一个复制粘贴的话也不行,因为在linux下打开的java文件本身就是utf-8编码,已经乱码了
更改linux默认编码?原谅我小白!网上搜索了一会,Linux版本这么多,命令什么的多少有点区别,我这种小白是搞不定的(以后有需求了再说)!
后来想到了脚本!
本身是程序员,写个脚本应该还可以吧!无非下面的思路:
1.遍历文件夹下的所有文件,当然要包括子文件夹
2.找到文件后用gbk解码,然后用utf8编码保存
思路有了就好办了!
成果如下:
#!/bin/bash
function ergodic(){
for file in ` ls $1 `
do
if [ -d $1"/"$file ]
then
mkdir $2"/"$file
ergodic $1"/"$file $2"/"$file
else
iconv -f gbk -t utf8 $1"/"$file > $2"/"$file
fi
done
}
IN_PATH="/home/myName/桌面/in"
OUT_PATH="/home/myName/桌面/out"
ergodic $IN_PATH $OUT_PATH以上!
好吧,对语句稍微解释一下,也免得以后自己再忘了
1.for in :循环,可以循环数字,字符串等等
2.[ ] 部分是判断表达式,-d 表示判断是否是目录(directory)
3.iconv [选项...] [文件...]
-f :-from-code=名称 原始文本编码
-t, -to-code=名称 输出编码
4. ">" 输出重定向,内容输出到指定的文件中,如果文件存在, 则原来的内容被清空, 不存在则创建文件
另外:">>"是把输出追加到文件中, 如果文件存在, 追加到末尾, 不存在则创建文件
感谢网上所有前辈的贡献!
-------------------------------------------------
关于创建脚本:
1.新建一个空白文档
2.编辑脚本
3.使脚本可执行:chmod +x [文件]

这篇博客讲述了作者在将Android程序从Windows迁移到Linux时遇到的编码问题,由于Linux默认使用UTF-8编码导致GBK编码的文件显示乱码。作者选择通过编写脚本来批量将GBK文件转换为UTF-8编码,详细介绍了脚本的实现思路和具体命令,包括文件遍历、解码和编码转换,并提到了输出重定向。最后,作者分享了创建可执行脚本的步骤。
1万+

被折叠的 条评论
为什么被折叠?



