Linux でのエンコード変換は、iconv コマンドを使用して直接行うことができます。単一のファイルとバッチ処理の両方をサポートしています。iconv コマンドは、既知の文字セットファイルを別の既知の文字セットファイルに変換することができます。その役割は、複数の国際エンコード形式間でテキストの内部コードを変換することです。
単一ファイルの処理のシェルコマンド
iconv -t utf-8 -f gb2312 source > target
# -f ソースエンコード # -t ターゲットエンコード # -l : 既知のエンコード文字セットをリストアップする # -o file : 出力ファイルを指定する # -c : 出力時に不正な文字を無視する # -s : 警告メッセージを無効にするが、エラーメッセージではない
バッチ処理のシェルコマンド
#ディレクトリのバッチ処理
find default -type d -exec mkdir -p utf/{} \;
#ファイルのバッチ処理
find default -type f -exec iconv -f gb2312 -t utf-8 -o utf/{} \;
参考 http://blog.chinaunix.net/uid-9525959-id-2001822.html http://www.51testing.com/html/00/130600-868004.html