From: Takahiro Kambe Date: 2008-06-05T07:25:57+09:00 Subject: [ruby-dev:34932] Re: open() and encodings ちょっとだけ。 In message <4847146F.4020103@airemix.jp> on Thu, 5 Jun 2008 07:16:24 +0900, "NARUSE, Yui" wrote: > > WindowsやOSXではそうなのかもしれませんが、UNIXではかならずし > > もそうでもないような。このパッチではlocaleを採用しているよう > > ですが、ひとつのファイルシステムで複数のエンコーディングが混 > > 在している場合もありますから、明示的にエンコーディングが指定 > > できないとまずいです。というか、むしろ最初から変換してほしく > > ありません。 > > こちらはUNIXにおけるデフォルトがlocaleでは適切とは言えない、 > ということでしょうか。 > 確かに、RedHat系ですと事実上UTF-8がファイルシステムのエンコーディングと言える > であろう一方で(正確には/etc/sysconfig/i18nで指定)、 > Debianや*BSDではシステム全体のエンコーディングはおそらく決定できません。 2つの側面があります。 そもそもlocaleはユーザの選択、日本語環境、英語環境、その他の言語なのか によって変わるものです。いわば、切り替えて使用されることが前提のもので す。その一方で、localeに従って、ファイルシステムの文字エンコーディング が変わるかと言えば、そうでない場合が殆んどではないでしょうか。(そうい うことができていれば、多少は幸せな状況になるのかもしれません。) また、相手にするファイルシステムもffsやext?とかに限らず、状況によって はFATやNTFSといった外様なファイルシステムを扱う場合もあります。 -- 神戸 隆博 / Takahiro Kambe