Forum: Ruby-dev filesystem encoding of UNIX

Posted by naruse (Yui NARUSE) (Guest)
on 2012-11-09 11:01
(Received via mailing list)
Issue #2154 has been updated by naruse (Yui NARUSE).


usa (Usaku NAKAMURA) wrote:
>  す。
>  みなさんどうしてるんでしょう?
>
>  ただ、よくわかんないんですが、最近はSDカードとかFATつっても
>  FAT32じゃないんすかね。
>  であればUnicodeなファイルエントリもあるはずなのでファイルシス
>  テムドライバが真面目に作ってあればUTF-8でファイル名アクセスが
>  できて問題ないようにも思います。
>  この辺はそういうシステムを使ってる人に聞きたいところ。

現状では default_external を SJIS にしてファイル開くときに external encoding を EUC-JP 
に設定とかですかねぇ。

>  > 2)  ロケールはUTF-8だけどファイルシステムエンコーディングはUTF8MACな某OS
>  >
>  > というパターンだと思うので、これをケアする必要があるならAPIが必要そうに思えます。要望を上がってこない所をみるとあんまり困ってないのかな
>
>  困ってる話は卜部さんも紹介されたようにけっこうな頻度で見かけ
>  るように思います。
>  ここは成瀬さんが深く考えていたはずなので説明お願いします。

filesystem encoding を UTF8-MAC にすると、non ASCII が入った瞬間 UTF-8 
の文字列と比較できなくなって困り、
UTF-8 にすると UTF-8 なのに decomposed なので困るという八歩ふさがりな状態であるという、
当たり前の知見が得られました。
----------------------------------------
Bug #2154: filesystem encoding of UNIX
https://bugs.ruby-lang.org/issues/2154#change-32703

Author: usa (Usaku NAKAMURA)
Status: Assigned
Priority: Normal
Assignee: akr (Akira Tanaka)
Category: M17N
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-10-25 trunk 37328)


=begin
 「Ruby M17N の設計と実装」によると(*1)、UNIXにおけるfilesystem
 encodingはlocaleであると書かれているのですが、実際には現在の
 実装はdefault externalになっています。
 実装の方が間違ってる気がするのですが、どうでしょうか?

 *1 http://jp.rubyist.net/magazine/?0025-Ruby19_m17n#l23
=end
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.