[Assigned] filesystem encoding of UNIX

Issue #2154 has been updated by usa (Usaku NAKAMURA).

Description updated
Status changed from Closed to Assigned
Assignee changed from naruse (Yui NARUSE) to akr (Akira T.)
ruby -v changed from ruby 1.9.2dev (2009-09-28 trunk 25132)
[i386-mswin32] to ruby 2.0.0dev (2012-10-25 trunk 37328)

と、いうことだったのですが、r25782において意図的にdefault externalに戻されています。
理由を発見できなかったのですが、なぜでしょう?

Bug #2154: filesystem encoding of UNIX

Author: usa (Usaku NAKAMURA)
Status: Assigned
Priority: Normal
Assignee: akr (Akira T.)
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

2012$BG/(B10$B7n(B29$BF|(B 10:31 usa (Usaku NAKAMURA)
[email protected]:

$B$H!“$$$&$3$H$@$C$?$N$G$9$,!”(Br25782$B$K$$$$F0U?^E$K(Bdefault
external$B$KLa$5$l$F$$$^$9!#(B
$BM}M3$rH/8+$G$-$J$+$C$?$N$G$9$,!"$J$<$G$7$g$&!)(B

$B$=$N;~E@$N5-21$O$9$G$K$J$$$N$G$9$,!“$*$=$i$/!”(B
locale $B$H0[$J$k(B encoding $B$G%Q%9L>$r07$$$?$$>l9g$K!"(B
$B@_Dj$G$-$k$h$&$K$9$k$?$a$G$O$J$$$+$H;W$$$^$9!#(B

$B$H$/$K;XDj$7$J$1$l$P!“(Bdefault external $B$O(B locale
$B$+$i@_Dj$5$l$k$N$G!”(B
$B!V(BUNIX$B$K$*$1$k(Bfilesystem
encoding$B$O(Blocale$B$G$"$k!W$H$$$&$N$O$=$l$[$I(B
$BJQ$G$O$J$$$N$G$O$J$$$G$7$g$&$+!#(B

$B$3$s$K$A$O!"$J$+$`$i(B($B$&(B)$B$G$9!#(B

In message “[ruby-dev:46310] Re: [ruby-trunk - Bug #2154][Assigned]
filesystem encoding of UNIX”
on Oct.29,2012 10:57:06, [email protected] wrote:

$B$=$N;~E@$N5-21$O$9$G$K$J$$$N$G$9$,!“$*$=$i$/!”(B
locale $B$H0[$J$k(B encoding $B$G%Q%9L>$r07$$$?$$>l9g$K!"(B
$B@_Dj$G$-$k$h$&$K$9$k$?$a$G$O$J$$$+$H;W$$$^$9!#(B

$B$H$/$K;XDj$7$J$1$l$P!“(Bdefault external $B$O(B locale
$B$+$i@_Dj$5$l$k$N$G!”(B
$B!V(BUNIX$B$K$*$1$k(Bfilesystem
encoding$B$O(Blocale$B$G$"$k!W$H$$$&$N$O$=$l$[$I(B
$BJQ$G$O$J$$$N$G$O$J$$$G$7$g$&$+!#(B

$B$U$`!#(B
$B$H$9$k$H!“K\Ev$O!”(Bfilesystem encoding$B$rL@<($7$F@_Dj$9$k(BAPI$B$,(B
$B9g$C$?$[$&$,$$$$$s$G$7$g$&$+$M!#(B
2.0.0$B$K$b4V$K9g$o$J$o$J$5$=$&$J$N$G:#$O?<F~$j$rHr$1$^$9$,!#(B

$B$5$F!“$3$3$GLdBj$J$N$G$9$,!”(Blocale$B$,(BUTF-8$B$@$H$7$F!"(B

p File.expand_path(“a”).encoding # A
Encoding.default_external = Encoding::EUC_JP
p File.expand_path(“a”).encoding # B
p File.expand_path(“a”.encode(Encoding::SHIFT_JIS)).encoding # C

$B$H$7$?$H$-!"(BA, B, C$B$O$=$l$>$l$I$&$J$k$Y$-$G$7$g$&(B?

filesystem encoding(=default_external)$B$rB:=E$9$k$J$i!"(B

A: UTF-8
B: EUC-JP
C: EUC-JP

$B$K$J$k$O$:$G!“(B1.9.3-p286$B$O<B:]$=$&$J$j$^$9!#(B
$B0lJ}$G!”<B$O8=:_$N(Btrunk$B$O0z?t$N(Bencoding$B$rB:=E$7$F$*$j!"(B

A: US-ASCII (script encoding$B$,$=$&$J$N$G(B)
B: US-ASCII
C: Shift_JIS

$B$K$J$j$^$9!#(B

$B$3$NJU?'!9Le!9$H$7$F$$$F$k$N$G$9$,!“8=;~E@$G$N;d$N9M$($H$7$F(B
$B$O!”(B

  • $B%U%!%$%k%7%9%F%$N(Bencoding$B$,86B'$H$7$F8GDj$G$"$k%W%i%C%H(B $B%U%)!<%(B($B$D$^$jNc$($P(BWindows)$B$G$O!"FbItJQ49$r9T$$!"0z?t$N(B
    encoding$B$G7k2L$rJV$9!#(B

  • $B%U%!%$%k%7%9%F%$N(Bencoding$B$,8D!9$NMxMQ<T$K$f$@$M$i$l$F$$(B $B$F!"%7%9%F%E*$K$O%P%$%HNs$H$7$F07$o$l$F$$$k%W%i%C%H%U%)(B
    $B!<%`(B($B$D$^$jIaDL$N(BUnix)$B$G$O!“FbIt$G$OC1$K%P%$%HNs$H$7$F07(B
    $B$$!”(Bdefault_external$B$K(Bforce_encoding$B$7$F7k2L$rJV$9!#(B

$B$H$9$k$N$,$h$$$N$+$J$“!”$H;W$C$F$$$^$9!#(B
$B%W%i%C%H%U%)!<%`$K$h$C$F5sF0$,0c$&$N$,$d$d;DG0$G$9$,!“7k6I$3(B
$B$l$,4{B8$N%9%/%j%W%H$K:G$b1F6A$rM?$($J$$J}K!$J$N$+$J$”!"$H(B…

$B3’$5$s$I$&;W$o$l$^$9$+!#(B

$B$=$l$G$O!#(B

$B$H$/$K;XDj$7$J$1$l$P!"(Bdefault external $B$O(B locale
$B$+$i@_Dj$5$l$k$N$G!"(B

$B!V(BUNIX$B$K$*$1$k(Bfilesystem
encoding$B$O(Blocale$B$G$"$k!W$H$$$&$N$O$=$l$[$I(B

$BJQ$G$O$J$$$N$G$O$J$$$G$7$g$&$+!#(B

$B$U$`!#(B
$B$H$9$k$H!“K\Ev$O!”(Bfilesystem encoding$B$rL@<($7$F@_Dj$9$k(BAPI$B$,(B
$B9g$C$?$[$&$,$$$$$s$G$7$g$&$+$M!#(B
2.0.0$B$K$b4V$K9g$o$J$o$J$5$=$&$J$N$G:#$O?<F~$j$rHr$1$^$9$,!#(B

$B$a$s$I$/$5$$%1!<%9$O0J2<$N#2$D$G$9$+$M!#(B

$B%m%1!<%k$O(B UTF-8
$B%U%!%$%k%7%9%F%$O(BFAT$B!J$h$C$F%U%!%$%k%7%9%F%$N%U%!%$%kL>$O(BShiftJIS
or another country specific codepage)
$B%U%!%$%k$NCf?H$O(B EUC

$B"($3$l$O(BSD$B%+!<%I$J$I$G<B:]$KH/@8$7$&$k(B

$B%m%1!<%k$O(BUTF-8$B$@$1$I%U%!%$%k%7%9%F%`%(%s%3!<%G%#%s%0$O(BUTF8MAC$B$JK?(BOS

$B$H$$$&%Q%?!<%s$@$H;W$&$N$G!"$3$l$r%1%"$9$kI,MW$,$"$k$J$i(BAPI$B$,I,MW$=$&$K;W$($^$9!#MWK>$r>e$,$C$F$3$J$$=j$r$_$k$H$"$s$^$j:$$C$F$J$$$N$+$J(B

$B$^$H$^$C$F$J$$$N$G;W$$$D$$$?$3$H$r2U>r=q$-$G=q$/$H(B

$B!&(BLinux$B$G$O(Blocale(UTF-8)$B!"(BMac$B$G$O(BUTF8MAC$B!"(BWindows$B$G$O(BUTF-16$B!J$@$C$1!)!K$,%G%U%)%k%H$N%U%!%$%k%7%9%F%`%(%s%3!<%G%#%s%0$G$"$C$FM_$7$$(B
$B!&(BSD$B%+!<%IBP:v$N$?$a$K0c$&%(%s%3!<%G%#%s%0$r;XDj$G$-$FM_$7$$!#$3$l$O(Bdefault_external$B$r$+$($k$h$j$+$O0z?t$GM?$($l$?$[$&$,JXMx$=$&$J5$$,$9$k!#(B
default_external$B$rJQ$($A$c$&$HJL$N%9%l%C%I$,$.$c$C$H$$$$$=$&$@$+$i(B
$B!&(Bdefault_filesystem_enconding$B$_$?$$$J$N$,$"$l$P!"@N$N(BLinux$B$N%$%a!<%8$K;D$C$F$$$k(BEUC-JP$B$J%G!<%?$r%5%k%Y!<%8$9$k$H$-$KJXMx$=$&$G$"$k(B
$B!&(B2.0$B$G$O%G%U%)%k%H$O(Blocale$B$K$7$F$*$$$?$[$&$,!"$"$H$+$i<+A3$K3HD%$G$-$k$h$&$J5$$,$9$k(B

$B0J>e$G$9!#$b$&$A$g$C$H9M$($F$+$i$^$?$J$s$+=q$/$+$b(B

$B%m%1!<%k$O(BUTF-8$B$@$1$I%U%!%$%k%7%9%F%`%(%s%3!<%G%#%s%0$O(BUTF8MAC$B$JK?(BOS

$B$H$$$&%Q%?!<%s$@$H;W$&$N$G!"$3$l$r%1%"$9$kI,MW$,$"$k$J$i(BAPI$B$,I,MW$=$&$K;W$($^$9!#MWK>$r>e$,$C$F$3$J$$=j$r$_$k$H$"$s$^$j:$$C$F$J$$$N$+$J(B

$B8e<T$K4X$7$F$O%j%/%(%9%H$,Mh$F$^$9$M(B([ruby-core:48745] [Bug
#7267])$B!"H]DjE*$JJVEz$7$A$c$C$?$1$I!#(B

$B$^$C$?$/5;=QE*$8$c$J$$463PO@$G$$$&$H!"(BMac$B%f!<%6%m%1!<%k$d(Bdefault_external
$B$r(B
UTF-8MAC$B$K$9$k$3$H$O$"$j$($J$$$H;W$&$N$G!“5$;}$AE*$K$O$J$s$i$+$N%1%”$r$7$F$"$2$?$$$J$"$H$+;W$&$s$G$9$h$M!#(B
$B<+J,$O(BMac$B$GF|K\8l%U%!%$%kL>$r0l@Z$D$+$C$F$J$$$N$G$J$+$J$+<j$,F0$+$J$$$1$I(B

On 11/02/2012 01:56 PM, KOSAKI Motohiro wrote:

$B%m%1!<%k$O(B UTF-8
$B%U%!%$%k%7%9%F%$O(BFAT$B!J$h$C$F%U%!%$%k%7%9%F%$N%U%!%$%kL>$O(BShiftJIS or
another country specific codepage)
$B%U%!%$%k$NCf?H$O(B EUC

$B"($3$l$O(BSD$B%+!<%I$J$I$G<B:]$KH/@8$7$&$k(B

$B%m%1!<%k$O(BUTF-8$B$@$1$I%U%!%$%k%7%9%F%`%(%s%3!<%G%#%s%0$O(BUTF8MAC$B$JK?(BOS

$B$H$$$&%Q%?!<%s$@$H;W$&$N$G!"$3$l$r%1%"$9$kI,MW$,$"$k$J$i(BAPI$B$,I,MW$=$&$K;W$($^$9!#MWK>$r>e$,$C$F$3$J$$=j$r$_$k$H$"$s$^$j:$$C$F$J$$$N$+$J(B

$B8e<T$K4X$7$F$O%j%/%(%9%H$,Mh$F$^$9$M(B([ruby-core:48745] [Bug
#7267])$B!"H]DjE*$JJVEz$7$A$c$C$?$1$I!#(B

(2012/11/03 9:00), KOSAKI Motohiro wrote:

$B%m%1!<%k$O(BUTF-8$B$@$1$I%U%!%$%k%7%9%F%`%(%s%3!<%G%#%s%0$O(BUTF8MAC$B$JK?(BOS

$B$H$$$&%Q%?!<%s$@$H;W$&$N$G!"$3$l$r%1%"$9$kI,MW$,$"$k$J$i(BAPI$B$,I,MW$=$&$K;W$($^$9!#MWK>$r>e$,$C$F$3$J$$=j$r$_$k$H$"$s$^$j:$$C$F$J$$$N$+$J(B

$B8e<T$K4X$7$F$O%j%/%(%9%H$,Mh$F$^$9$M(B([ruby-core:48745] [Bug
#7267])$B!"H]DjE*$JJVEz$7$A$c$C$?$1$I!#(B

$B$^$C$?$/5;=QE*$8$c$J$$463PO@$G$$$&$H!"(BMac$B%f!<%6%m%1!<%k$d(Bdefault_external
$B$r(B

UTF-8MAC$B$K$9$k$3$H$O$"$j$($J$$$H;W$&$N$G!“5$;}$AE*$K$O$J$s$i$+$N%1%”$r$7$F$"$2$?$$$J$"$H$+;W$&$s$G$9$h$M!#(B

$B<+J,$O(BMac$B$GF|K\8l%U%!%$%kL>$r0l@Z$D$+$C$F$J$$$N$G$J$+$J$+<j$,F0$+$J$$$1$I(B

$B9M$($r$^$H$a$-$C$F$^$;$s$,!“2?$+$7$i%3%a%s%H$O$7$F$*$$$?$[$&$,$$$$$H;W$&$N$G$7$^$9$H!”(B
UTF8-MAC
$B$K$7$?$$?M$,$G$-$k$h$&$K$9$k<jCJ$OMQ0U$9$k$Y$-$+$J$!$H$$$&5$$,$7$F$$$^$9!#(B
–filesystem-encoding= $B$H(B Encoding.filesystem = $B$"$?$j$+$7$i$s!#(B

$B$3$s$K$A$O!"$J$+$`$i(B($B$&(B)$B$G$9!#(B

In message “[ruby-dev:46375] Re: [ruby-trunk - Bug #2154][Assigned]
filesystem encoding of UNIX”
on Nov.03,2012 04:56:59, [email protected] wrote:

$B%m%1!<%k$O(B UTF-8
$B%U%!%$%k%7%9%F%$O(BFAT$B!J$h$C$F%U%!%$%k%7%9%F%$N%U%!%$%kL>$O(BShiftJIS or
another country specific codepage)
$B%U%!%$%k$NCf?H$O(B EUC

$B"($3$l$O(BSD$B%+!<%I$J$I$G<B:]$KH/@8$7$&$k(B

$B$3$l!";d$b5$$K$J$C$F$k$s$G$9$,!"6l>p$r8+$+$1$J$$$N$,IT;W5D$G(B
$B$9!#(B
$B$_$J$5$s$I$&$7$F$k$s$G$7$g$&(B?

$B$?$@!“$h$/$o$+$s$J$$$s$G$9$,!”:G6a$O(BSD$B%+!<%I$H$+(BFAT$B$D$C$F$b(B
FAT32$B$8$c$J$$$s$9$+$M!#(B
$B$G$“$l$P(BUnicode$B$J%U%!%$%k%(%s%H%j$b$”$k$O$:$J$N$G%U%!%$%k%7%9(B
$B%F%%I%i%$%P$,??LLL\$K:n$C$F$"$l$P(BUTF-8$B$G%U%!%$%kL>%"%/%;%9$,(B $B$G$-$FLdBj$J$$$h$&$K$b;W$$$^$9!#(B $B$3$NJU$O$=$&$$$&%7%9%F%$r;H$C$F$k?M$KJ9$-$?$$$H$3$m!#(B

$B%m%1!<%k$O(BUTF-8$B$@$1$I%U%!%$%k%7%9%F%`%(%s%3!<%G%#%s%0$O(BUTF8MAC$B$JK?(BOS

$B$H$$$&%Q%?!<%s$@$H;W$&$N$G!“$3$l$r%1%”$9$kI,MW$,$“$k$J$i(BAPI$B$,I,MW$=$&$K;W$($^$9!#MWK>$r>e$,$C$F$3$J$$=j$r$_$k$H$”$s$^$j:$$C$F$J$$$N$+$J(B

$B:$$C$F$kOC$OKNIt$5$s$b>R2p$5$l$?$h$&$K$1$C$3$&$JIQEY$G8+$+$1(B
$B$k$h$&$K;W$$$^$9!#(B
$B$3$3$O@.@%$5$s$,?<$/9M$($F$$$?$O$:$J$N$G@bL@$*4j$$$7$^$9!#(B

$B$^$H$^$C$F$J$$$N$G;W$$$D$$$?$3$H$r2U>r=q$-$G=q$/$H(B

$B!&(BLinux$B$G$O(Blocale(UTF-8)$B!“(BMac$B$G$O(BUTF8MAC$B!”(BWindows$B$G$O(BUTF-16$B!J$@$C$1!)!K$,%G%U%)%k%H$N%U%!%$%k%7%9%F%`%(%s%3!<%G%#%s%0$G$"$C$FM_$7$$(B

Windows$B$G$O$$$o$f$k!V(BW$B!W$OFbItE*$K(BUTF-8$B$KJQ49$7$F07$&$3$H$K$7(B
$B$?$N$G!“(Bnext major$B$”$?$j$G%U%!%$%k%7%9%F%`%(%s%3!<%G%#%s%0$O(B
UTF-8$B$K$7$^$9!#(B

$B%9%/%j%W%H$O(BUTF-16$B$rJV$5$l$F$b(BASCII compatible$B$8$c$J$$$N$G(B

$B@)8B$,$-$D$/$F;H$($J$$$7!"(Bruby$BFbIt$G$b(BASCII compatible$B$8$c(B

$B$J$$J8;zNs$r%Q%9L>$H$7$F07$($k$h$&$K$O$[$H$s$I$J$C$F$J$$!#(B

$B!&(BSD$B%+!<%IBP:v$N$?$a$K0c$&%(%s%3!<%G%#%s%0$r;XDj$G$-$FM_$7$$!#$3$l$O(Bdefault_external$B$r$+$($k$h$j$+$O0z?t$GM?$($l$?$[$&$,JXMx$=$&$J5$$,$9$k!#(B

default_external$B$rJQ$($A$c$&$HJL$N%9%l%C%I$,$.$c$C$H$$$$$=$&$@$+$i(B

$B!&(Bdefault_filesystem_enconding$B$_$?$$$J$N$,$“$l$P!”@N$N(BLinux$B$N%$%a!<%8$K;D$C$F$$$k(BEUC-JP$B$J%G!<%?$r%5%k%Y!<%8$9$k$H$-$KJXMx$=$&$G$"$k(B

$B$3$l$O@h$K=q$$$?$H$*$j;d$bF10U$7$^$9!#(B

$B!&(B2.0$B$G$O%G%U%)%k%H$O(Blocale$B$K$7$F$*$$$?$[$&$,!“$”$H$+$i<+A3$K3HD%$G$-$k$h$&$J5$$,$9$k(B

default_external$B$8$c$J$/$F!"$H$$$&$3$H$G$7$g$&$+(B?

$B<B$O(Bbackport$B$NET9g$G:#;~E@$N(B1.9.3
HEAD$B$b8=>u$N(Btrunk$B$N<BAu$r0z(B
$B$-7Q$$$G$$$k$N$G!“8D?ME*$K$O!”$^$:$5$C$5$H(B2.0.0$B$G$I$&$9$k$+!"(B
$B$r7h$a$F$7$^$$$?$$5$J,$G$9!#(B1.9.3$B$O$=$l$K9g$o$;$k$N$G!#(B

$B$H$3$m$G!"$7$m$5$-$5$s$C$F$3$C$A8+$F$^$9(B?
$B8+$F$?$i$$$m$$$m65$($FM_$7$$$H$3$m!#(B

$B$=$l$G$O!#(B

$B$3$s$K$A$O!"$J$+$`$i(B($B$&(B)$B$G$9!#(B

In message “[ruby-dev:46398] Re: [ruby-trunk - Bug #2154][Assigned]
filesystem encoding of UNIX”
on Nov.05,2012 17:41:14, [email protected] wrote:

$B<B$O(Bbackport$B$NET9g$G:#;~E@$N(B1.9.3 HEAD$B$b8=>u$N(Btrunk$B$N<BAu$r0z(B
$B$-7Q$$$G$$$k$N$G!“8D?ME*$K$O!”$^$:$5$C$5$H(B2.0.0$B$G$I$&$9$k$+!"(B
$B$r7h$a$F$7$^$$$?$$5$J,$G$9!#(B1.9.3$B$O$=$l$K9g$o$;$k$N$G!#(B

expand_path$B$N(Bencoding$B$,0z?t$N(Bencoding$B$HF1$8$K$J$k$N$O!“%3!<%I$r=q$/$H$-$K$O!”$=$l$O$=$l$GJ,$+$j$d$9$$$H$O;W$$$^$9!#(Bencoding$B$,<+F0E*$KJQ$o$i$J$$$H$$$&$3$H$J$N$G!#(B

$B;d8D?M$bF146$G$9!#(B
$B$J$N$G(B($B$?$V$s;d$K7hDj8"$,$“$k(B)Windows$B$K$D$$$F$O!”=>Mh$+$i$N8_(B
$B49@-$b4U$_$F!"$3$NJ}?K$G$$$-$?$$$H;W$C$F$$$^$9!#(B

$B$?$@(BUNIX$B7O$K$D$$$F$OFC$K0U?^$;$:JQ99$5$l$F$$$k$H;W$&$N$G!“8=(B
$B;~E@$G$O5sF0$rLa$9$N$,BEEv$J%i%$%s$+$H;W$C$F$$$k$N$G$9$,(B…
$B$J$*$3$NJQ99$ONc$N(BWindows$BMQ$N(BFile.expand_path$B9bB.2=$NI{:nMQ$G(B
$B$”$k$H$$$&$N$,;d$N4QB,$J$N$G!"$=$l$,;v<B$+$I$&$+(B($B$=$7$F;v<B$@(B
$B$H$7$?$i$I$3$rD>$;$P$$$$$N$+(B)$B$r$A$g$C$H9M$($F$_$F$[$7$$$G$9!#(B

$B%Q%9L>$K%^%k%A%P%$%H$r;H$&$H!“%H%i%V%k$N85$K$J$j$^$9$+$i!”;d$O;H$o$J$$$h$&$K$7$F$$$^$9!#(B

$BCOMkHr$1%9%-%k$G$9$M(B :slight_smile:

$B$=$l$G$O!#(B

2012/11/5 U.Nakamura [email protected]:

$B$?$@(BUNIX$B7O$K$D$$$F$OFC$K0U?^$;$:JQ99$5$l$F$$$k$H;W$&$N$G!“8=(B
$B;~E@$G$O5sF0$rLa$9$N$,BEEv$J%i%$%s$+$H;W$C$F$$$k$N$G$9$,(B…
$B$J$*$3$NJQ99$ONc$N(BWindows$BMQ$N(BFile.expand_path$B9bB.2=$NI{:nMQ$G(B
$B$”$k$H$$$&$N$,;d$N4QB,$J$N$G!"$=$l$,;v<B$+$I$&$+(B($B$=$7$F;v<B$@(B
$B$H$7$?$i$I$3$rD>$;$P$$$$$N$+(B)$B$r$A$g$C$H9M$($F$_$F$[$7$$$G$9!#(B

File.expand_path$B$N(Bencoding$B$,JQ$o$C$?$N$O!“CfED$5$s$N=$@5$K$h$kJQ99$N$h$&$K;W$$$^$9!#(B
$B;d$O0U?^E*$K;EMM$rJQ99$7$?$N$@$H;W$C$F$$$^$7$?!#(B
Windows$BMQ$N(BFile.expand_path$B$O!”$=$NJQ99$K$“$o$;$F$”$j$^$9!#(B

2012/11/5 U.Nakamura [email protected]:

$B<B$O(Bbackport$B$NET9g$G:#;~E@$N(B1.9.3 HEAD$B$b8=>u$N(Btrunk$B$N<BAu$r0z(B
$B$-7Q$$$G$$$k$N$G!“8D?ME*$K$O!”$^$:$5$C$5$H(B2.0.0$B$G$I$&$9$k$+!"(B
$B$r7h$a$F$7$^$$$?$$5$J,$G$9!#(B1.9.3$B$O$=$l$K9g$o$;$k$N$G!#(B

expand_path$B$N(Bencoding$B$,0z?t$N(Bencoding$B$HF1$8$K$J$k$N$O!“%3!<%I$r=q$/$H$-$K$O!”$=$l$O$=$l$GJ,$+$j$d$9$$$H$O;W$$$^$9!#(Bencoding$B$,<+F0E*$KJQ$o$i$J$$$H$$$&$3$H$J$N$G!#(B

$B%Q%9L>$K%^%k%A%P%$%H$r;H$&$H!“%H%i%V%k$N85$K$J$j$^$9$+$i!”;d$O;H$o$J$$$h$&$K$7$F$$$^$9!#(B

$B$3$s$K$A$O!"$J$+$`$i(B($B$&(B)$B$G$9!#(B

In message “[ruby-dev:46403] Re: [ruby-trunk - Bug #2154][Assigned]
filesystem encoding of UNIX”
on Nov.05,2012 21:33:52, [email protected] wrote:

File.expand_path$B$N(Bencoding$B$,JQ$o$C$?$N$O!"CfED$5$s$N=$@5$K$h$kJQ99$N$h$&$K;W$$$^$9!#(B

$B$J$s$G$9$H!<!#(B
$B$I$&$J$s$G$9$+!d$J$+$@$5$s(B

$B;d$O0U?^E*$K;EMM$rJQ99$7$?$N$@$H;W$C$F$$$^$7$?!#(B
Windows$BMQ$N(BFile.expand_path$B$O!“$=$NJQ99$K$”$o$;$F$"$j$^$9!#(B

Windows$B$K$D$$$F$O0JA0$+$i;d$K$O$=$&$$$&0U;V$,$"$k$N$G$$$$$s$G(B
$B$9$,!#(B
$B$I$C$+$G$4$C$A$c$K$J$C$F$k$N$+$J!#(B

$B$=$l$G$O!#(B

$B!&(B2.0$B$G$O%G%U%)%k%H$O(Blocale$B$K$7$F$*$$$?$[$&$,!"$"$H$+$i<+A3$K3HD%$G$-$k$h$&$J5$$,$9$k(B

default_external$B$8$c$J$/$F!"$H$$$&$3$H$G$7$g$&$+(B?

default_external
$B$H$$$&;EMM$K$7$F$7$^$&$H!"(Bdefault_file_system$B$r:n$C$?;~$K8_49@-$N$?$a:G=*;EMM$,0J2<$N$h$&$K$J$C$F$7$^$&$N$G!"$o$+$j$K$/$$$+$J$"$H$+;W$C$F$^$7$?(B

$B0J2<$N=g$K1F6A(B

  1. expand_path()$B$N0z?t%(%s%3!<%G%#%s%0(B
  2. default_file_system
  3. defaut_external
  4. locale

$B?<$$M}M3$G$O$J$$$N$GL5;k$7$F$b$i$C$F$b(B