成瀬です。

Masuda Yoshihisa wrote:
> Mac OS X(10.4)標準の状態の ruby 1.8.2 で iconv を使って「UTF8 => シフトJIS」
> の文字コード変換をやりたいのですが、丸数字がうまく変換できません。
> 
> kconv の #tosjis をつかうとひらがなやカタカナの濁点が別々に分かれてしまうので

Mac OS X の UTF-8 は decomposed UTF-8 (UTF-8-MAC) なので、
composed UTF-8 の入力を想定している nkf -W だと別々になってしまいますね。

Ruby 1.8.5 では -W の代わりに --ic=UTF-8-MAC を指定すればいいのですが、
Ruby 1.8.2 ではこの方法は無理ですね。

> Iconv.conv("SHIFT_JISX0213", "UTF8-MAC", str)
> 
> としているのですが、丸数字が Iconv::IllegalSequence の例外になってしまいます。

ここで言われている「丸数字」はおそらく SHIFT_JISX0213 のものではなく、
CP932 とか WINDOWS-31J とかよばれているもののでしょう。
Iconv.conv("CP932", "UTF8-MAC", str)
ならばうまく行くかと思います。
# Mac OS X 付属の iconv が CP932 に対応しているかは知りませんが・・・

-- 
NARUSE, Yui  <naruse / airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA