読者です 読者をやめる 読者になる 読者になる

1.9 はこの発表の内容を全部理解しないと使えないのでしょうか ?

RubyM17N

String における encoding ってのは型みたいなものです。静的型だと思ってがちがちに固めることもできます。一方で、Duck Typing 的に扱ってもたいていの場合はうまく動くはずです。具体的にどうすればいいかは、ライブラリやアプリケーションの分類によると思うので、その辺はまた改めてまとめたいと思っています。
とりあえず大雑把にまとめるならば、

決め打ちしちゃう (UCS風)

  1. 好きなエンコーディングを一つ決める (例えば EUC-JP)
  2. magic comment にそのエンコーディングを書く 「# -*- coding: EUC-JP -*-」
  3. locale もそのエンコーディングにする 「LANG=ja_JP.eucJP」

こうすれば、ソースコードには EUC-JP の文字列書き放題。変な入力が来ても、文字化けする前に例外が上がるから安心。

決め打ちしない (CSI風)

スクリプト内を US-ASCII で固めることで、入出力は ASCII Compatible ならなんでもいいようにする。

両者の判断基準としては、ソースコードを US-ASCII のみで書けるのならば、決め打ちしないで頑張る方向に、書けないのならばさくっと決め打ちしてしまうのがよろしいかと思います。