ファイル名の文字エンコーディングの統一
プロジェクトデータのファイル名について、歴史的な経緯により、EUC-JP・Shift_JIS・UTF-8という3種類の文字エンコーディング が混在していました。これを統一しました。</home/> 配下にすべてのプロジェクトデータがあるため、下記のような作業となります。
# cd /home # convmv -r -f euc-jp -t utf8 *convmvは、「—notest」オプションを明示的につけないと、実際には変換されません (dry run)。また、「-f」オプションで指定した文字エンコーディングでないファイルがあると「this file was not validly encoded in euc-jp」と教えてくれます。これで、ファイル名がEUC-JPではないファイルが分かります。Shift_JISであることは分かっていたのです が、念のためにnkfでもチェックします。
# cd /home/project/foo # echo * | nkf --guess Shift_JISやはりShift_JISでした。このディレクトリ配下だけ、Shift_JISからUTF-8に変換します。
# convmv -r -f sjis -t utf8 * # convmv --notest -r -f sjis -t utf8 *「—notest」をつけて実際に変換します。
その後、残りのEUC-JPのファイルを一括で変換します。
# cd /home # convmv -r -f euc-jp -t utf8 * # convmv --notest -r -f euc-jp -t utf8 *これで、すべてのファイル名がUTF-8になりました。
1年前 | 固定リンク | 2010年 5月 31日 | 
