自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。
Ruby言語やLinuxのネタが多いです。
July 06, 2002 [おもひで]
■ [Ruby] Ruby-GetText-Package-0.3.1 is out!
リリースした。これでひとまず落ち着けるかな.....。ダメ?(^^;)
■ ちなみに、今回の変更でIconvなしでも動作するようになった。Iconvが無い場合はメッセージカタログ(moファイル)の文字コードで出力される。
オレはOSといえばLinuxとWindows位しか触ったことがないのであまりはっきりは言えないのだが、アプリ開発者側としてはmoファイルをShift_JISで書いておくと比較的多くの環境で動かせると思う。っていうのは、最近のLinuxのディストリビューションでIconvが入っていない環境はないし、Windowsの場合、Iconvモジュールが入っていない環境もあるみたいなんで。
商用UNIXはどうなのかな。UNIX98に準拠してればIconvは入ってるのか。でもバグが多いって話も聞いたしなぁ。
■ いずれにせよ、この辺の問題が早いとこ解決すれば、こういうことで悩まずにも済むんだよな。え?Unicode?うーむ。

Buggy であることよりも iconv() に渡す名前と locale の名前とが
関係無いっていうことのが問題かも.一般には MIME の prefered
encoding とも関係無いし.プラットフォーム毎/ライブラリ毎に表を
もってなきゃならない.
まぁ、でもUNIX(The Single UNIX Specification Version2)ではnl_langinfo()が提供されてますよね。それを使ってもダメってことでしょうか?
あ、moファイル自体に記述されているcharsetがIconvで使える名前になってないってことかな。
そりゃだめか(^^;)。
iconv()で扱えるencodingを調べるポータブルな方法があれば、インストール時にラッパーを作ることも出来るんですが。
ところで、MIME prefered encodingってどこかに一覧ありますか。
それってたとえばlibiconvのソースについてくるlibcharsetの中のconfig.charsetとかって参考になったりします?
なりました。プラットフォームで分けるしかないという結論(爆)
実はRuby-GetText-Packageのためにlibcharsetと似たようなモノをRubyで作ろうかと思った時期があったのですが、さらに車輪の再発明(^^;)になりそうなのでやめました。
プラットフォームに依存しないモノができたらとっても便利だなぁ。誰か作らないかなぁ....とか言ってみるテスト。
スペルミスの上に通称としては preferred MIME charset の方が
ふつうだったような気がしてきた :-P
http://www.iana.org/assignments/character-sets
うーむ、これは大変ですね。
にしても、これだとプラットフォーム別の実装がわからないような気が....(^^;)。
1. preferred MIME charset に実装依存の区別なんてありません.
2. しかも iconv() で使える名前とは全然関係ありません.
3. そして iconv() に使える名前を調べる portable な interface は
どこにも定義されていません.
glibc の実装や GNU iconv は preferred MIME charset を使えたりし
ますが,たとえば Solaris 2.6 のは理解しない.
nl_langinfo(CODESET) は current locale の codeset を返すだけなの
でこれまたあんまり役には立たない.
....あきらめて表を書きましょう :-P しかも自動生成は今の所無理.
このあたりが「iconv() 使えない」っていう話の源泉.バッファ周り
がどうこうっていうのは何とかできてもね....
なるほど....。確かにnl_langinfo()って汎用性に欠けますね...。
誰か変換表書いてくんないかなぁ....(他人事(^^;))。