2008年4月30日

[ruby-list:44870] Re: Ruby 1.9のARGVのエンコーディング

成瀬です。

U.Nakamura wrote:
>>> デフォルトはlocale(かそれに類するもの)にして、何らかの形で別
>>> 途エンコーディングを指定できるようにすべきだと思います。
>>> # と、去年の2月に言った気がする
>>>
>>> 問題は、その「何らかの形」なんですが。

>> locale とファイルシステムのエンコーディングが異なるというケースは
>> それなりに存在するように感じてはいます。
>> けれども、わざわざ複雑な機構を入れてまでサポートする必要があるのかなぁ、
>> というのが正直な印象です。
>
> 今、私の目の前に、rubyがlocaleであるとみなしているエンコーデ
> ィングとファイルシステムのエンコーディングが確実に異なるプラ
> ットフォームがあるような気がします。
> そのプラットフォームのユーザからは、1.9以前から、どーにかして
> くれという要望が何度も来ていますしねえ。

その要望自体が正当なものであろうという点については異議はありません。

しかし、実際問題として、
* 当該プラットフォームでは、
 「locale であるとみなしているエンコーディング」と、
 「ファイルシステムのエンコーディング」どちらを用いる API も存在する
* 当該プラットフォームでは現在「ファイルシステムのエンコーディング」で
 アクセスする方法が提供されていない(ですよね?)

つまり、結局のところ件のプラットフォームではどのエンコーディングで
返すのが親切なのかよくわかりません。
# 近い将来 UTF-16 とかになるのかな

>> つまり、原則 locale と同一であろうとみなして、
>> そうでない場合は force_encoding で拾えばいいのではないかと。
>
> これって具体的にどういうコードを想定してるんですか?

ユーザーサイドで泥臭く force_encoding です。
スマートな方法が他にあれば、それの方がいいのでしょうけれど、
思いついたのは大がかりなものばかりでした。

--
NARUSE, Yui <naruse@xxxxx>

投稿者 xml-rpc : 2008年4月30日 20:50
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/72736
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。