Encoding.locale_charmap

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

e$B$9$_$^$;$s!%e(BEncoding.locale_charmap
e$B$K$D$$$F$*?R$M$5$;$F$/$@$5$$!%e(B

Ruby/Tk e$B$G!$e(Blocale e$B$Ne(B encoding e$B$rF@$k$?$a$Ke(B
Encoding.find(Encoding.locale_charmap)
e$B$J$s$F$3$H$r$7$F$$$?$N$G$9$,!$e(B
Encoding.locale_charmap e$B$,6uJ8;zNs$rJV$9$3$H$,$"$k$h$&$G$9!%e(B

e$B$3$l$O@5>o$J>uBV$G$7$g$&$+!%e(B
e$B@5>o$G$"$k$J$i!$$I$N$h$&$J>l9g$K$=$&$J$k$N$G$7$g$&$+!%e(B

locale_charmap e$B$,6uJ8;zNs$rJV$7$?>l9g$K$O!$e(B
locale e$B$O$I$N$h$&$K2r<a$9$l$PNI$$$G$7$g$&$+!%e(B( “US-ASCII” ? )

e$B$=$b$=$b!$e(Blocale e$B$Ne(B encoding e$B$rF@$k$N$Ke(B
Encoding.find(Encoding.locale_charmap) e$B$J$s$F$3$H$r$7$F$$$k$N$,e(B
e$B:,K\E*$K4*0c$$$r$7$F$$$k$N$G$7$g$&$+!%e(B

e$B$h$m$7$/$*4j$$CW$7$^$9!%e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:37737] Encoding.locale_charmap”
on Thu, 8 Jan 2009 17:45:45 +0900, Hidetoshi NAGAI
[email protected] writes:

|Ruby/Tk e$B$G!$e(Blocale e$B$Ne(B encoding e$B$rF@$k$?$a$Ke(B
|Encoding.find(Encoding.locale_charmap) e$B$J$s$F$3$H$r$7$F$$$?$N$G$9$,!$e(B
|Encoding.locale_charmap e$B$,6uJ8;zNs$rJV$9$3$H$,$"$k$h$&$G$9!%e(B

locale_charmape$B$N%=!<%9$O0J2<$NDL$j$G$9$+$i!“$3$l$,6uJ8;zNs$re(B
e$BJV$9$N$G$”$l$P!"e(Bnl_langinfo()e$B$,6uJ8;zNs$rJV$7$F$$$k$N$@$H;We(B
e$B$$$^$9!#$=$l$C$F$N$O@5>o$J>uBV$G$O$J$$$G$7$g$&$,!"e(BRubye$B$+$i$Je(B
e$B$s$H$+$G$-$k$3$H$G$b$J$5$=$&$G$9!#e(B

VALUE
rb_locale_charmap(VALUE klass)
{
#if defined NO_LOCALE_CHARMAP
return rb_usascii_str_new2(“ASCII-8BIT”);
#elif defined HAVE_LANGINFO_H
char *codeset;
codeset = nl_langinfo(CODESET);
return rb_usascii_str_new2(codeset);
#elif defined _WIN32
return rb_sprintf(“CP%d”, GetConsoleCP());
#else
return Qnil;
#endif
}

|e$B$3$l$O@5>o$J>uBV$G$7$g$&$+!%e(B
|e$B@5>o$G$"$k$J$i!$$I$N$h$&$J>l9g$K$=$&$J$k$N$G$7$g$&$+!%e(B

e$B$`$7$m$3$C$A$,J9$-$?$$$G$9!#$I$s$J4D6-2<$G6uJ8;zNs$,F@$i$l$?e(B
e$B$N$G$7$g$&$+!#e(B

|locale_charmap e$B$,6uJ8;zNs$rJV$7$?>l9g$K$O!$e(B
|locale e$B$O$I$N$h$&$K2r<a$9$l$PNI$$$G$7$g$&$+!%e(B( “US-ASCII” ? )
|
|e$B$=$b$=$b!$e(Blocale e$B$Ne(B encoding e$B$rF@$k$N$Ke(B
|Encoding.find(Encoding.locale_charmap) e$B$J$s$F$3$H$r$7$F$$$k$N$,e(B
|e$B:,K\E*$K4*0c$$$r$7$F$$$k$N$G$7$g$&$+!%e(B

e$B%=!<%9$r8+$l$P$o$+$k$h$&$K!"e(Blocale_charmape$B$Oe(Bnile$B$rJV$9$3$H$O$"e(B
e$B$j$($^$9!#$^$?!"e(Bnl_langinfo
e$B$Oe(BEncodinge$B$H$OFHN)$KDj5A$5$l$F$$e(B
e$B$^$9$+$i!“3:Ev$9$ke(BEncodinge$B$,B8:_$7$J$$$3$H$b$”$j$($k$G$7$g$&!#e(B
e$B$$$:$l$K$7$F$b$=$N$h$&$J>l9g$K$Oe(BUS-ASCIIe$B$+e(BASCII-8BITe$B$/$i$$$7e(B
e$B$+;H$($J$$$N$G$O$J$$$G$7$g$&$+!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: Yukihiro M. [email protected]
Subject: [ruby-dev:37738] Re: Encoding.locale_charmap
Date: Thu, 8 Jan 2009 18:06:15 +0900
Message-ID: [email protected]

e$B$`$7$m$3$C$A$,J9$-$?$$$G$9!#$I$s$J4D6-2<$G6uJ8;zNs$,F@$i$l$?e(B
e$B$N$G$7$g$&$+!#e(B

e$B$4$a$s$J$5$$!%e(B
[ruby-talk: 324219]
e$B$N7o$J$N$G$9$,!$$^$@6qBNE*$J4D6-$O?R$M$F$$$^$;$s!%e(B
Encoding.find(Encoding.locale_charmap) e$B$,e(B
"ArgumentError: unknown encoding name - " e$B$HJV$7$Fe(B
“TypeError: can’t convert nil into String” e$B$G$O$J$$$N$Ge(B
nil e$B$G$O$J$/6uJ8;zNs$@$H9M$($?$N$G$9$,!$e(B
e$B$-$A$s$H$O3NG’$7$F$$$^$;$s$G$7$?!%e(B

e$B%=!<%9$r8+$l$P$o$+$k$h$&$K!"e(Blocale_charmape$B$Oe(Bnile$B$rJV$9$3$H$O$"e(B
e$B$j$($^$9!#$^$?!"e(Bnl_langinfo e$B$Oe(BEncodinge$B$H$OFHN)$KDj5A$5$l$F$$e(B
e$B$^$9$+$i!“3:Ev$9$ke(BEncodinge$B$,B8:_$7$J$$$3$H$b$”$j$($k$G$7$g$&!#e(B
e$B$$$:$l$K$7$F$b$=$N$h$&$J>l9g$K$Oe(BUS-ASCIIe$B$+e(BASCII-8BITe$B$/$i$$$7e(B
e$B$+;H$($J$$$N$G$O$J$$$G$7$g$&$+!#e(B

e$B$=$&$7$^$9$H!$e(B

e$B4D6-$,$$+$7$$$H$O;W$o$l$k$1$l$I!$e(BRuby
e$BB&$G$O$I$&$7$h$&$b$J$$$N$G!$e(B
NO_LOCALE_CHARMAP e$B$N>l9g$HF1MM$Ke(B ASCII-8BIT e$B$K$7$F$
$/$h$&$Ke(B
e$B5_:QA<CV$r9T$&e(B

e$B$H$$$&$H$3$m$G$7$g$&$+!%e(B
e$B$=$l$H$b!$e(B

e$B$=$s$JIe$C$?4D6-$NJ}$r$I$&$K$+$7$F$/$@$5$$e(B

e$B$H$$$&$3$H$Ge(B(^^;e$B!$M>7W$J5:Q$J$I$O$9$Y$-$G$O$J$$$N$G$7$g$&$+!%e(B

e$B$I$&;W$o$l$^$9$+!)e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:37739] Re: Encoding.locale_charmap”
on Thu, 8 Jan 2009 18:23:39 +0900, Hidetoshi NAGAI
[email protected] writes:

e$B$=$&$7$^$9$H!$e(B
e$B4D6-$,$*$+$7$$$H$O;W$o$l$k$1$l$I!$e(BRuby e$BB&$G$O$I$&$7$h$&$b$J$$$N$G!$e(B
NO_LOCALE_CHARMAP e$B$N>l9g$HF1MM$Ke(B ASCII-8BIT e$B$K$7$F$*$/$h$&$Ke(B
e$B5_:QA<CV$r9T$&e(B
-------------------------------------------------------------------
e$B$H$$$&$H$3$m$G$7$g$&$+!%e(B
e$B$=$l$H$b!$e(B
-------------------------------------------------------------------
e$B$=$s$JIe$C$?4D6-$NJ}$r$I$&$K$+$7$F$/$@$5$$e(B
-------------------------------------------------------------------
e$B$H$$$&$3$H$Ge(B(^^;e$B!$M>7W$J5:Q$J$I$O$9$Y$-$G$O$J$$$N$G$7$g$&$+!%e(B

e$B8D?ME*$K$OA0<T$r?d$7$^$9!#e(B

Unix e$B7O$Ne(B OS e$B$K$h$C$F$b<B:]JV$C$FMh$kJ8;zNs$Oe(B
e$BMM!9$G!“FbMFE*$KF1$8$b$Ne(B (e$B$d;w$?$b$Ne(B) e$B$G$”$C$F$be(B
e$BI,$:$7$be(B Ruby e$B$N;}$C$F$$$ke(B Encoding e$B$de(B Alias
e$B$H0lCW$7$J$$$3$H$b$“$j$^$9$N$G!”$=$&$$$&$H$3$m$K$be(B
e$BD94|E*$KBP1~$7$d$9$$A*Br;h$NJ}$,$$$$$N$G$O$J$$$+$He(B
e$B;W$$$^$9!#e(B

e$B$h$m$7$/$*4j$$$7$^$9!#e(B Martin.

At 18:23 09/01/08, Hidetoshi NAGAI wrote:

[ruby-talk: 324219] e$B$N7o$J$N$G$9$,!$$^$@6qBNE*$J4D6-$O?R$M$F$$$^$;$s!%e(B

e$B$+;H$($J$$$N$G$O$J$$$G$7$g$&$+!#e(B
e$B$=$s$JIe$C$?4D6-$NJ}$r$I$&$K$+$7$F$/$@$5$$e(B


e$B$H$$$&$3$H$Ge(B(^^;e$B!$M>7W$J5:Q$J$I$O$9$Y$-$G$O$J$$$N$G$7$g$&$+!%e(B

e$B$I$&;W$o$l$^$9$+!)e(B

e$B1J0fe(B e$B=(Mxe(B ([email protected])
e$B6e=#9)6HBg3Xe(B e$BBg3X1!>pJs9)3X8&5f1!e(B e$BCNG=>pJs9)3X8&5f7Oe(B

#-#-# Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-# http://www.sw.it.aoyama.ac.jp mailto:[email protected]

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: “NARUSE, Yui” [email protected]
Subject: [ruby-dev:37742] Re: Encoding.locale_charmap
Date: Thu, 8 Jan 2009 20:00:54 +0900
Message-ID: [email protected]

|e$B4D6-$,$$+$7$$$H$O;W$o$l$k$1$l$I!$e(BRuby e$BB&$G$O$I$&$7$h$&$b$J$$$N$G!$e(B
e$B8D?ME
$K$OA0<T$r?d$7$^$9!#e(B

e$BM}A[O@$r8@$($P!"2?$i$+$NJL$N<jCJ$Ge(B locale e$B$r<hF@$7$?$$$s$G$9$,!"e(B
e$B$H$K$b$+$/$K$b4D6-$N>pJs$,M_$7$$$G$9$M!#e(B
cygwin e$B$Ne(B nl_langinfo e$B$,Ie$C$F$$$k$H$$$&OC$OJ9$/$N$G$=$l$+$J$!!)e(B

e$B$4$a$s$J$5$$!%e(B[ruby-talk:
324219]e$B$K$O4D6-$N>pJs$,>/$7$"$j$^$7$?!%e(B

ruby -version
ruby 1.9.1 (2008-12-30 patchlevel-0 revision 21203)
[powerpc-darwin9.6.0]

e$B$H$J$C$F$^$9$M!%e(B

Martin e$B$5$s$N6D$k$H$$j!"e(BRuby e$B$NCN$i$J$$%(%s%3!<%G%#%s%0$,%m%1!<%k$H$$$&e(B
e$B%1!<%9$OB8:_$7$&$k$N$G!"BP:v$OF~$l$F$
$$$F$$$$$s$8$c$J$$$+$H;W$$$^$9!#e(B

e$B$H$j$"$($:!$e(BEncoding.find(Encoding.locale_charmap)
e$B$G%(%i!<$,=P$?$H$-$Oe(B
ASCII-8BIT e$B$H$7$F$*$/$h$&$K$7$^$9!%e(B

e$B$=$l$O$=$l$H$7$F!$e(BRuby e$BB&$G2?$i$+$NBP:v$r9M$($k$3$H$Oe(B
e$B$7$J$/$F$b$$$$$N$G$7$g$&$+!)e(B
e$B85!9Hs%5%]!<%H$N4D6-$Ge(B nil
e$B$,5"$C$F$/$kJ,$K$O;EJ}$J$$$G$9$,!$e(B
e$B$=$&$G$O$J$$4D6-$G$“$C$F$b!$e(BEncoding.locale_charmap
e$B$N7k2L$r;H$&$H$-$Oe(B
e$B%(%i!<=hM}I,?$H$$$&$N$b$d$dLLE]$J5$$,$7$^$9!%e(B
e$B$b$A$m$s!$$”$k$,$^$^$N@8$N>pJs$,I,MW$J>l9g$b$"$k$H$O;W$&$N$G$9$,!%!%!%e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:37745] Re: Encoding.locale_charmap”
on Fri, 9 Jan 2009 01:29:43 +0900, Hidetoshi NAGAI
[email protected] writes:

|e$B$=$l$O$=$l$H$7$F!$e(BRuby e$BB&$G2?$i$+$NBP:v$r9M$($k$3$H$Oe(B
|e$B$7$J$/$F$b$$$$$N$G$7$g$&$+!)e(B
|e$B85!9Hs%5%]!<%H$N4D6-$Ge(B nil e$B$,5"$C$F$/$kJ,$K$O;EJ}$J$$$G$9$,!$e(B
|e$B$=$&$G$O$J$$4D6-$G$“$C$F$b!$e(BEncoding.locale_charmap e$B$N7k2L$r;H$&$H$-$Oe(B
|e$B%(%i!<=hM}I,?$H$$$&$N$b$d$dLLE]$J5$$,$7$^$9!%e(B
|e$B$b$A$m$s!$$”$k$,$^$^$N@8$N>pJs$,I,MW$J>l9g$b$"$k$H$O;W$&$N$G$9$,!%!%!%e(B

e$BIaCJ$Oe(BEncoding.default_externale$B$H$+$G:Q$$O$:$J$N$G!"$=$3$^e(B e$B$G@Q6KE*$K;Y1g$7$J$/$F$b$h$$$N$G$O$J$$$+$H8=;~E@$G$O9M$($F$$e(B e$B$^$9!#:#8e!"e(BM17Ne$B5!G=$r;H$&%W%m%0%i%$,?tB?$/EP>l$9$kCf$G!"e(B
e$B!V%(%i!<=hM}$,I,?$H8@$&$N$bLLE]!W$H$$$&%1!<%9$,B?H/$7$?;~$Ke(B
e$B2~$a$F9M$($h$&$+$H!#e(B

e$B@.@%$G$9!#e(B

Yukihiro M. wrote:

|-------------------------------------------------------------------
|e$B$H$$$&$H$3$m$G$7$g$&$+!%e(B

e$B$=$l$H$b!$e(B
e$B$=$s$JIe$C$?4D6-$NJ}$r$I$&$K$+$7$F$/$@$5$$e(B
-------------------------------------------------------------------
e$B$H$$$&$3$H$Ge(B(^^;e$B!$M>7W$J5:Q$J$I$O$9$Y$-$G$O$J$$$N$G$7$g$&$+!%e(B

e$B8D?ME*$K$OA0<T$r?d$7$^$9!#e(B

e$BM}A[O@$r8@$($P!"2?$i$+$NJL$N<jCJ$Ge(B locale
e$B$r<hF@$7$?$$$s$G$9$,!"e(B
e$B$H$K$b$+$/$K$b4D6-$N>pJs$,M_$7$$$G$9$M!#e(B
cygwin e$B$Ne(B nl_langinfo
e$B$,Ie$C$F$$$k$H$$$&OC$OJ9$/$N$G$=$l$+$J$!!)e(B

Martin e$B$5$s$N6D$k$H$$j!"e(BRuby
e$B$NCN$i$J$$%(%s%3!<%G%#%s%0$,%m%1!<%k$H$$$&e(B
e$B%1!<%9$OB8:_$7$&$k$N$G!"BP:v$OF~$l$F$
$$$F$$$$$s$8$c$J$$$+$H;W$$$^$9!#e(B

e$B@>;3OB9-$G$9!#e(B

At Fri, 9 Jan 2009 01:29:43 +0900,
Hidetoshi NAGAI wrote:

e$B$4$a$s$J$5$$!%e(B[ruby-talk: 324219]e$B$K$O4D6-$N>pJs$,>/$7$"$j$^$7$?!%e(B

ruby -version
ruby 1.9.1 (2008-12-30 patchlevel-0 revision 21203) [powerpc-darwin9.6.0]

e$B$H$J$C$F$^$9$M!%e(B

e$B$A$g$C$HD4$Y$F$_$?$H$3$m!"e(BLANGe$B$,e(Bja_JPe$B$N$h$&$J;~$K6uJ8;zNs$K$J$k$h$&$G$9!#e(B

$ ruby-trunk -v
ruby 1.9.1 (2009-01-08 patchlevel-5000 trunk 21392)
[powerpc-darwin9.6.0]
$ for lang in ja ja_JP ja_JP.eucJP ja_JP.UTF-8; do
env LANG=$lang ruby-trunk -e ’
p ENV[“LANG”]
p Encoding.locale_charmap
p Encoding.find(Encoding.locale_charmap)’
done
“ja”
“US-ASCII”
#Encoding:US-ASCII
“ja_JP”
“”
-e:4:in find': unknown encoding name - (ArgumentError) from -e:4:in
“ja_JP.eucJP”
“eucJP”
#Encoding:EUC-JP
“ja_JP.UTF-8”
“UTF-8”
#Encoding:UTF-8
$ ls -d /usr/share/locale/ja*
/usr/share/locale/ja /usr/share/locale/ja_JP.UTF-8
/usr/share/locale/ja_JP /usr/share/locale/ja_JP.eucJP
/usr/share/locale/ja_JP.SJIS
$

e$B$A$J$_$Ke(BLinuxe$B$@$H$3$&$J$j$^$7$?!#e(B

% ruby-trunk -v
ruby 1.9.1 (2009-01-06 patchlevel-5000 trunk 21355) [i686-linux]
% for lang in ja ja_JP ja_JP.eucJP ja_JP.UTF-8; do
env LANG=$lang ruby-trunk -e ’
p ENV[“LANG”]
p Encoding.locale_charmap
p Encoding.find(Encoding.locale_charmap)’
done
“ja”
“ANSI_X3.4-1968”
#Encoding:US-ASCII
“ja_JP”
“EUC-JP”
#Encoding:EUC-JP
“ja_JP.eucJP”
“EUC-JP”
#Encoding:EUC-JP
“ja_JP.UTF-8”
“UTF-8”
#Encoding:UTF-8
%

e$B@.@%$G$9!#e(B

Hidetoshi NAGAI wrote:

Ruby/Tk e$B$G!$e(Blocale e$B$Ne(B encoding e$B$rF@$k$?$a$Ke(B
Encoding.find(Encoding.locale_charmap) e$B$J$s$F$3$H$r$7$F$$$?$N$G$9$,!$e(B

e$B$=$b$=$b!$e(Blocale e$B$Ne(B encoding e$B$rF@$k$N$Ke(B
Encoding.find(Encoding.locale_charmap) e$B$J$s$F$3$H$r$7$F$$$k$N$,e(B
e$B:,K\E*$K4*0c$$$r$7$F$$$k$N$G$7$g$&$+!%e(B

e$B$U$H5$$E$$$?$s$G$9$,!"e(BEncoding.find(“locale”)
e$B$NJ}$,$$$$$G$9$M!#e(B
locale_charmap e$B$,6uGr$rJV$9%W%i%C%H%U%)!<%`$G$b!"e(B
e$B$3$A$i$@$H4|BT$9$k%(%s%3!<%G%#%s%0$rJV$9$s$8$c$J$$$G$7$g$&$+!#e(B

e$B$"$H!“e(BEncoding.locale e$B$+e(B Encoding::LOCALE
e$B$”$?$j$,M_$7$$$+$J!)e(B

e$B@>;3OB9-$G$9!#e(B

At Sun, 11 Jan 2009 01:09:06 +0900,
NARUSE, Yui wrote:

e$B$U$H5$$E$$$?$s$G$9$,!"e(BEncoding.find(“locale”) e$B$NJ}$,$$$$$G$9$M!#e(B
locale_charmap e$B$,6uGr$rJV$9%W%i%C%H%U%)!<%`$G$b!"e(B
e$B$3$A$i$@$H4|BT$9$k%(%s%3!<%G%#%s%0$rJV$9$s$8$c$J$$$G$7$g$&$+!#e(B

Encoding.find(“locale”) e$B$@$He(B ASCII-8BIT e$B$K$J$j$^$7$?!#e(B

$ LANG=ja_JP ruby-trunk -ve ‘p Encoding.locale_charmap; p
Encoding.find(“locale”)’
ruby 1.9.1 (2009-01-08 patchlevel-5000 trunk 21392)
[powerpc-darwin9.6.0]
“”
#Encoding:ASCII-8BIT
$

e$B1J0f!wCNG=!%6e9)Bg$G$9!%e(B

From: “NARUSE, Yui” [email protected]
Subject: [ruby-dev:37755] Re: Encoding.locale_charmap
Date: Sun, 11 Jan 2009 11:33:05 +0900
Message-ID: [email protected]

  • e$B%i%$%V%i%jB&$O!"e(BEncoding.charmap e$B$G$J$/e(B Encoding.find(“locale”) e$B$rMQ$$$ke(B

e$B$"$!!$$=$&$G$7$?!%e(B
e$B:#$Oe(B Encoding.find(“locale”) e$B$,;H$($k$N$G$7$?$M!%e(B
e$B$=$A$i$r;H$&$h$&$K=$@5$7$^$9!%e(B

e$B@.@%$G$9!#e(B

Kazuhiro NISHIYAMA wrote:

$ LANG=ja_JP ruby-trunk -ve ‘p Encoding.locale_charmap; p Encoding.find(“locale”)’
ruby 1.9.1 (2009-01-08 patchlevel-5000 trunk 21392) [powerpc-darwin9.6.0]
“”
#Encoding:ASCII-8BIT
$

/usr/share/locale/ja_JP/ e$B$Ne(Bsymlink e$B$ND%$i$lJ}$r8+$k$K!“e(B
e$B??$K4|BT$9$k%(%s%3!<%G%#%s%0$Oe(B UTF-8 e$B$J$N$G$9$+$M!)e(B
e$B$3$l$Ge(B “” e$B$,JV$C$F$-$F$7$^$&$N$O$J$s$+%P%0$C$]$$$G$9$,!”!"!"e(B

e$B$5$F$*$-!"$^$H$a$k$H!"e(B

  • e$B%i%$%V%i%jB&$O!"e(BEncoding.charmap e$B$G$J$/e(B
    Encoding.find(“locale”) e$B$rMQ$$$ke(B
  • e$B%f!<%6B&$O!"e(BMac OS X e$B$G$Oe(B ja_JP e$B$G$J$/!"e(Bja_JP.UTF-8
    e$B$de(B ja_JP.SJIS e$BEy!"e(B
    e$B%(%s%3!<%G%#%s%0$^$G;XDj$9$k!#e(B
    e$B$K$J$k$N$G$9$+$M!#e(B