From: KOSAKI Motohiro Date: 2011-01-14T17:10:00+09:00 Subject: [ruby-dev:43033] Re: [Ruby 1.9-Feature#4280] SJIS should be an alias of Windows-31J, not of Shift_JIS 2011年1月14日16:35 U.Nakamura : > こんにちは、なかむら(う)です。 > > In message "[ruby-dev:43030] [Ruby 1.9-Feature#4280] SJIS should be an alias of Windows-31J, not of Shift_JIS" > on Jan.14,2011 16:05:56, wrote: >> Javaでは SJIS==Shift_JIS ですね。以下でJavaの歴史的経緯が説明されているようです。 >> >> http://www.ingrid.org/java/i18n/encoding/shift_jis.html > > 我々は彼らの失敗を踏まえているので、Shift_JISとWindows-31Jが > ごっちゃになったりはしていません(えっへん)。 > よって、IANA charsetにあるような名前をそれと異なる意味にした > いという発想はありません。 > > で、「SJIS」という名前に対しては特に公的な定義が存在しない状 > 況のはずです(何かあったら教えてください)。 > なので、その意味は慣用で決まっているのだと思いますが、Ruby界 > 隈においては「$KCODEに指定するもの」というのが最も一般的な現 > れ方なのではないかと思うわけです。 > であれば、それに合わせるべきではないでしょうか。 > > > さて、JavaではなぜSJIS==Shift_JISなんでしょうか。 > Javaの「Shift_JISにまつわる」歴史的経緯は小崎さんに示していた > だいた文書にあるとおりだと思いますが、「SJISについては」特に > なんの説明も無くShift_JISと同じとして扱われてますよね? 実は全然思い出せないんですが、SJISはUnix localeでの名前ではなかったですかね。 個人的にはSJISは統一見解がないから使うなとか言いたいんですがそうもいかない んでしょうね。 歴史的経緯を含む文字コードは何がやっかいかというと、言語の文字コードの規定と より下位レイヤーのソフト(データベースソフトとか)での文字コードの規定に不一致が あったときに困るわけで、Rubyの都合だけで決めていいんだろうかというもやもや感と、 イマドキSJISは理解するけどShift_JIS, CP932を理解しないデータベースなんて生き 残っているのだろうかという漠然とした疑問が頭の中で回っていたりします。 どうなんでしょうねぇ。もうちょっと考えます