リンク: [ホーム] [自己紹介] [リンク集] [アルバム] [ソフトウェア] [発表文献] [その他]

まさおのChangeLogメモ / 2009-03-11

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2009-03-11 Wed

* erb + iso-2022-jp

Rubyスクリプトをテキストファイルに埋め込むための eRuby 形式のファ
イルを iso-2022-jp で作ってはいけない。

単に eRuby でスクリプト表現を埋め込む記号である "<%" という文字列
が出現する可能性があるため。

たとえば、「スケジュール」という文字列は iso-2022-jp では
「\033$B%9%1%8%e!<%k\033(B」と表現されるが、このうち長音の箇所に出
現する <% という組が eRuby のものと区別できなくなってしまう。

Ruby 1.8 では少なくともこういった文字列を適切に扱う仕組みは用意さ
れていないので、回避不能。

Ruby 1.9 以降では多言語対応の強化によって、原理上は扱えるようになっ
ているのではないかと期待するけど、手元に 1.9 系列の環境がないので、
試していない。

今回はとりあえず元ファイルを EUC-JP で表現してあとから文字コード変
換することにしてお茶を濁す…。