iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。
例如:从GB2312转换为UTF-8。
用法: iconv [选项...] [文件...]
Convert encoding of given files from one encoding to another.
输入/输出格式规范:
-f, --from-code=NAME 原始文本编码
-t, --to-code=NAME 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent suppress warnings
--verbose 打印进度信息
-?, --help 给出该系统求助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
用“glibcbug”脚本将错误报告给 <bugs@gnu.org>。
指令:
#iconv -f GB2312 -t UTF-8 gb1.txt > gb2.txt 将gb1.txt里的编码从GB2312转化成UTF-8 并输出为gb2.txt。注意输出的文件必须为不同的文件名,而且不要忘记写“>"
在linux下其实也可以完成这样的工作
这个命令就是iconv
例如要将一个编码格式是GB2312的文本文件foo.txt转成BIG5的内码可以用
iconv -f GB2312 -t BIG5 foo.txt > foo1.txt
这样新的文件foo1.txt就是BIG5内码的了
将内码是BIG5的文件foo.txt转成GB2312的内码用
iconv -f BIG5 -t GB2312 foo.txt > foo2.txt
将GB2312内码文件转成UTF-8
iconv -f GB2312 -t UTF-8 foo.txt > foo3.txt
最后是批量转换,将一个目录下所有的文件转换成我们需要的内码
假设当前目录下有foo1.txt foo2.txt foo3.txt.... foon.txt都是GB2312内码
将他们全部专程BIG5内码,并在后面加上BIG5作为后缀
创建一个脚本gb2312_2_big5.sh,内容如下
ls *.txt |while read i
do iconv -f GB2312 -t BIG5 $i>$i.big5
done
保存之后执行
sh gb2312_2_big5.sh
即可完成转换。
---------------------------
例如:从GB2312转换为UTF-8。
用法: iconv [选项...] [文件...]
Convert encoding of given files from one encoding to another.
输入/输出格式规范:
-f, --from-code=NAME 原始文本编码
-t, --to-code=NAME 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent suppress warnings
--verbose 打印进度信息
-?, --help 给出该系统求助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
用“glibcbug”脚本将错误报告给 <bugs@gnu.org>。
指令:
#iconv -f GB2312 -t UTF-8 gb1.txt > gb2.txt 将gb1.txt里的编码从GB2312转化成UTF-8 并输出为gb2.txt。注意输出的文件必须为不同的文件名,而且不要忘记写“>"
在linux下其实也可以完成这样的工作
这个命令就是iconv
例如要将一个编码格式是GB2312的文本文件foo.txt转成BIG5的内码可以用
iconv -f GB2312 -t BIG5 foo.txt > foo1.txt
这样新的文件foo1.txt就是BIG5内码的了
将内码是BIG5的文件foo.txt转成GB2312的内码用
iconv -f BIG5 -t GB2312 foo.txt > foo2.txt
将GB2312内码文件转成UTF-8
iconv -f GB2312 -t UTF-8 foo.txt > foo3.txt
最后是批量转换,将一个目录下所有的文件转换成我们需要的内码
假设当前目录下有foo1.txt foo2.txt foo3.txt.... foon.txt都是GB2312内码
将他们全部专程BIG5内码,并在后面加上BIG5作为后缀
创建一个脚本gb2312_2_big5.sh,内容如下
ls *.txt |while read i
do iconv -f GB2312 -t BIG5 $i>$i.big5
done
保存之后执行
sh gb2312_2_big5.sh
即可完成转换。
---------------------------
这个命令很有用,在你通过linux vps发贴到github空间时,如果你既不熟悉vim,又不熟悉emacs,而只熟悉nano,那么你通过securecrt登录你的linux vps,然后用nano输入中文(putty下无法输入中文,建议使用securecrt),输入后保存文件,只是在nano里,没有保存文件格式的选项,只能默认保存为gb2312格式,用 iconv命令把该gb2312格式的文件转换为utf-8格式,然后删除该gb2312格式的文件,然后把utf-8格式的文件发表到github空间,这样用浏览器访问该文章就不会出现乱码了。