ファイル名

自分のWebサイトにはhikiを使っていたが、バージョンが上がってデフォルトの文字コードEUC-JPからUTF-8になった。まあ時代の流れだからしかたないが、既存のページが読めなくなってしまった。ざっと見たところでは、ページのタイトルをEUC-JPで記述して、URLエンコードしたからファイル名にしていたようだ。

以前、アンケートフォームからのデータをデコードするためのCGIを作ったことがあったので、それを使ってみた。うまく変換はできたが、ファイル一つ一つを人手で処理すると考えると嫌になる。なので、Windows上のRuby 1.9.3でファイル名を付け替えるスクリプトを作った。といっても、ほぼワンライナーである。


# -*- coding: utf-8 -*-
# ruby 1.9.3
#
require "cgi"

File.rename(ARGV[0], CGI.unescape(ARGV[0]).encode("UTF-8", "EUC-JP"))

で、後はbashのforループで処理した。ま、ここから先は結局手作業なのだが。