UTF-8 CSV に BOM をつける

Redmine を日本語で使用している時にチケット一覧を CSV で出力する時のデフォルトの文字コードシフトJIS(CP932)です。おそらく Excel で見る時のことを考えられているのだと思いますが、CP932 にない文字がチケットにあったりすると結局文字化けしてしまいます。

意外と知られてないみたいなんですが、Excel は UTF-8CSV も読むことができます。ただし BOM 付き UTF-8 であれば。

ということで、いつも Redmine をインストールした後に BOM をつけるように手で書き直してたのですが、せっかくなのでプラグイン化してみました。

次のようにしてインストールできます。

% script/plugin install git://github.com/tmtm/redmine_csv_with_bom.git

なお、config/locales/ja.yml の general_csv_encoding を UTF-8 に設定する必要があります。

ちなみに、個人的には「UTF-8 に BOM なんてつけるなボケ!」派です…と言い訳しておきます :-)