最近从windows往linux拷贝东西 发现乱码 并且小小的研究了下.....
1.文本转换工具 iconv
iconv------用于把给定文件从一种编码格式转化为另一种编码格式
如果转换一个文件的编码,则建议用iconv 简单,方便
iconv格式
iconv -f encoding1 -t encoding2 -o outputfile inputfile
解释: 把给定文件inputfile从ecoding1编码格式转化为ecoding2编码格式 并且存入到outputfile文件当中.
2.批量转换文本
比如你想转化一个文件夹下的所有.c文件,一个一个转化就太慢了.
对于这种情况 shell脚本编程是好的选择,它其实也是调用iconv,只是把它放在循环中,这样就可以进行批处理,很方便.当然你也可以自己写一个程序也可以实现,那样相对麻烦些.
底下为该脚本名为test.sh
#!/bin/sh
for a in $* // 此处用到了循环 遍历通配符*中的所有对象 (因为你要 进行批处理,肯定要用到通配符*)
do
if [-f $a] //判断这个文件是否存在
then
iconv -f GBK -t UTF8 -o tmp.x $a //转码后的文件放入 tmp.x文件中
mv tmp.x $a //然后再把tmp.x文件中的内容移动到源文件中 fi
done
然后退出保存
修改test.sh为可执行程序 chmod x test.sh
例如运行 ./test.sh *.c
就可以实现你当前目录所有.c文件的转码了.
3.vim配置文件的修改
修改vim的配置文件就能实现用vim打开不回出现乱码.
按照如下方式执行
sudo su //进入到root用户下
cd /etc/vim
vim vimrc
在末尾加上如下语句
set fencs=ucs-bom,utf-8,gb18030,gbk,gb2312,big5,euc-jp,euc-kr,latin1,cp936set encoding=utf-8
set termencoding=utf-8
这样就实现了大多数编码格式的转换,转换成utf-8编码格式