在linux下把cp936转成utf-8

written in linux, bash, code, 中文

在linux下把cp936转成utf-8

今天需要把原来写的文字用博客的形式发布,用pelican转换的第一个问题就是文件的内码格式不到,原来是 cp936 (中文ASCII)的形式,需要转成utf-8

网上找了一下,可以用iconv 这个工具,不过不支持批量转换,于是又搜了一下,用bash写了一个,在此记录一下。 另外说明一下,iconv 不支持自动识别文件编码,要手动指定

1
2
3
4
#!/bin/bash
for file in *.txt 
    do iconv -c -f gb18030 -t utf8 $file -o $file.uu
done