GNU iconv dependency

e$B$3$s$K$A$O!#e(B

test/iconv/test_option.rbe$B$NCf!"$H$$$&$h$j$be(Btest/iconv/test_option.rb
e$B$=$N$b$N$G9T$C$F$$$k%F%9%H$G$9$,!"e(BGNU
iconve$B$rA0Ds$H$7$?FbMF$H$J$C$F$$e(B
e$B$^$9!#e(B

e$B6qBNE*$K$O!"%(%s%3!<%G%#%s%0L>$N8e$K!"e(B

//TARNSLIT e$B;w$?J8;z$G$NCV49e(B
//IGNORE [email protected]$j<N$F$F=hM}$r<B9Te(B

e$B$H$$$C$?!"IU2CE*$JJQ49$N;XDj$NJ8;zNs$rIU$1$?$H$-$N%F%9%H$7$F$$$^$9!#e(B

e$B;DG0$J$,$i!"$3$l$i$Oe(BGNU
iconve$B$NFH<+3HD%$G$"$j!"$9$Y$F$Ne(Biconve$B%i%$%V%i%je(B
e$B$GMQ0U$5$l$F$$$k$o$1$G$O$"$j$^$;$s!#e(B(iconv_open()e$B$NJz$($k5!G=ITB-$H$$e(B
e$B$&$+!“e([email protected]$($kB&LL$O$”$j$^$9$,!#e(B)

e$B$3$N$?$a!“e(BGNU
iconve$B$r%$%s%9%H!<%k$7$F!”$=$l$r;H$&$h$&$K%3%s%Q%$%k$7$Je(B
e$B$$8B$j!"$3$N%F%9%H$Oe(BBSDe$B7O$de(BOpenSolaris(?)e$B$G<:GT$7$^$9!#e(BGNU
iconve$B$r%$%se(B
e$B%9%H!<%k$7$F;H$($P:Q$`$H9M$($kJ}$O$$$i$C$7$c$k$+$b$7$l$^$;$s$,!"$=$N;~e(B
[email protected]$G!"e(BRubye$B$N%Q%C%1!<%8$Oe(BGPLe$B$N%i%$%;%s%9$K8BDj$5$l$^$9!#e(B

e$B$5$i$K!“e(BRubye$B$N%F%9%H$K$3$N$h$&$Je(BGNU
iconve$BFH<+$N5!G=$N%F%9%H$,4^$^$l$Fe(B
e$B$$$k$3$H$G!”[email protected]*$K$3$l$i$NFH<+5!G=$r%"%W%j%1!<%7%g%s$G;HMQe(B
e$B$7$F!“7k2LE*$K$=$N0?”@-$rB;$J$&$3$H$K$J$j$+$M$kB&LL$,$"$k$N$G$O$J$$$Ge(B
e$B$7$g$&$+e(B?

e$B<B:]$K!“e(Bhttp://www.netbsd.org/cgi-bin/query-pr-single.pl?number=36474
e$B$H!”$$$C$?;vNc$b$"$C$?$j$7$^$9!#e(B

e$BM}A[E*$K$O!"$3$l$i$,;HMQ$5$l$F$$$k$H%&%)!<%K%s%0$r=P$9$h$&$J5!G=$,$"$Ce(B
e$B$F$bNI$$$h$&$J5$$,$7$F$$$^$9!#e(B

e$B$b$C$H$b!“e(BPHPe$B$Ne(Biconve$B$N%^%K%e%”%k$"$?$j$,!“62$i$/2?$b9M$($:$K$3$l$i$N3He(B
e$BD%5!G=$r=q$$$F$$$?$j$9$ke(B(e$B<B:]$Oe(BGNU
iconve$B$KEj$2$F$F;H$([email protected]$1e(B)e$B4X78e(B
e$B$G!”$3$l$i$rA0Ds$H$7$FF0:n$7$F$$$k%"%W%j%1!<%7%g%s$Oe(BPHPe$BJ}LL$G$b$H$-$Ie(B
e$B$-8+$+$1$^$9!#e(B

e$B$=$&$$$&0UL#$G$O!V;ve$NI8=`$N$h$&$J5!G=!W$H$7$F9-$^$C$F$7$^$C$F$$$ke(B
e$B$o$1$G$9$,!"$d$O$jFH<+3HD%$N;HMQ$r?d>)$9$k$h$&$J$3$H$K$D$J$,$k%3!<%I$re(B
(e$B%F%9%[email protected]$(e(B)e$B4^$a$k$Y$-$G$O$J$$$H;W$$$^$9!#e(B

e$B$^$H$a$k$H!"e(B

  1. GNU
    iconve$B$K$I$C$W$j$H0MB8$7$?%3!<%I$Oe(B(e$B%F%9%[email protected]$($I$be(B)Rubye$BK\BN$Ke(B
    e$B4^$a$J$$$GM_$7$$!#4^$a$k$N$G$"$l$P!"e(BGNU
    iconve$B$K0MB8$7$F$$$k$3$H$re(B
    e$B$h!<$/$o$+$k$h$&$K$7$FM_$7$$!#e(B

  2. GNU
    iconve$B$NFH<+$NJQ49;XDj$NJ8;zNs$KBP$7$F!"%&%)!<%K%s%0$r=P$9$h$&$Je(B
    e$B%*%W%7%g%s$+2?$+$,$"$l$P!"$J$*NI$$!#e(B

e$B$H$J$j$^$9!#e(B2.e$B$O$5$F$*$-!"e(B1.e$B$O6/$/4uK>$7$^$9!#e(B

一点だけ。

At Thu, 4 Sep 2008 09:41:55 +0900,
Takahiro K. wrote:

このため、GNU iconvをインストールして、それを使うようにコンパイルしな
い限り、このテストはBSD系やOpenSolaris(?)で失敗します。GNU iconvをイン
ストールして使えば済むと考える方はいらっしゃるかもしれませんが、その時
点で、RubyのパッケージはGPLのライセンスに限定されます。

GNU libiconvのライブラリ部分のライセンスはLGPLです。

http://www.gnu.org/software/libiconv/

In message [email protected]
on Thu, 4 Sep 2008 17:21:34 +0900,
“Akinori MUSHA” [email protected] wrote:

[email protected]$G!"e(BRubye$B$N%Q%C%1!<%8$Oe(BGPLe$B$N%i%$%;%s%9$K8BDj$5$l$^$9!#e(B

GNU libiconve$B$N%i%$%V%i%jItJ,$N%i%$%;%s%9$Oe(BLGPLe$B$G$9!#e(B
e$B$*$C$H!"<:Ni$7$^$7$?!#e(B

[email protected]!"$=$l$G$be(BLGPLe$B$K$OG{$l$l$k$3$H$KJQ$o$j$O$"$j$^$;$s$Me(B?

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

In message “Re: [ruby-dev:36151] Re: GNU iconv dependency”
on Thu, 4 Sep 2008 17:37:48 +0900, Takahiro K.
[email protected] writes:

|> GNU libiconve$B$N%i%$%V%i%jItJ,$N%i%$%;%s%9$Oe(BLGPLe$B$G$9!#e(B
|e$B$*$C$H!"<:Ni$7$^$7$?!#e(B
|
|[email protected]!"$=$l$G$be(BLGPLe$B$K$OG{$l$l$k$3$H$KJQ$o$j$O$"$j$^$;$s$Me(B?

LGPLe$B$O%j%s%/$7$?$b$NA4BN$K$O5Z$P$J$$$O$:$G$9!#$b$A$m$se(B
libiconve$B<+?H$N%i%$%;%s%9$OJQ99$G$-$^$;$s$,!#e(B

e$B$H$O$$$(!"%i%$%;%s%9$NLLE]$r$3$l0J>eA}$d$7$?$/$J$$$G$9$7!“ITe(B
e$BI,MW$Ke(BRubye$B$NG[I[J*$N%5%$%:$rBg$-$/$7$?$/$J$$$N$G!”$3$3$O%F%9e(B
e$B%H$+$ie(BGNU
[email protected]$r:[email protected]$/$H$$$&J}8~$G!#$C$F!"e(B
e$BC/$,[email protected]$C$1!#e(B

In message [email protected]
on Fri, 5 Sep 2008 18:12:16 +0900,
Nobuyoshi N. [email protected] wrote:

  1. GNU iconve$B$K$I$C$W$j$H0MB8$7$?%3!<%I$Oe(B(e$B%F%9%[email protected]$($I$be(B)Rubye$BK\BN$Ke(B
    e$B4^$a$J$$$GM_$7$$!#4^$a$k$N$G$"$l$P!"e(BGNU iconve$B$K0MB8$7$F$$$k$3$H$re(B
    e$B$h!<$/$o$+$k$h$&$K$7$FM_$7$$!#e(B

e$B!V$h!<$/$o$+$k$h$&$K!W$9$k$$$$%"%$%G%#%"$O$"$j$^$;$s$+!#e(B

(1) e$B%I%-%e%a%s%H$K$O$C$-$j$H5-=R$9$k!#e(B
(2) www.ruby-lang.orge$B$KCm0U$r4-5/$9$kFbMF$r:$;$k!#e(B
(3)
ruby-liste$B$de(Bruby-talke$B$H$$$C$?%a!<%j%s%0%j%9%H$GCm0U$r4-5/$9$ke(B
e$B%"%J%&%s%9$r=P$9!#e(B
(4) Rubyist Magazinee$B$K=q$$$FLc$&!#e(B
(5) [email protected]$d;(;o$K=q$$$FLc$&!#e(B

e$B;W$$$D$$$?$N$O!"$3$l$/$i$$$G$9!#e(B

e$B$[$s$H$Oe(BPHPe$BJ}LL$G!"C/[email protected]<[email protected]$&$FM_$7$$e(B…e$B!#e(B

[email protected]$G$9!#e(B

At Thu, 4 Sep 2008 09:41:55 +0900,
Takahiro K. wrote in [ruby-dev:36147]:

e$B;DG0$J$,$i!"$3$l$i$Oe(BGNU iconve$B$NFH<+3HD%$G$"$j!"$9$Y$F$Ne(Biconve$B%i%$%V%i%je(B
e$B$GMQ0U$5$l$F$$$k$o$1$G$O$"$j$^$;$s!#e(B(iconv_open()e$B$NJz$($k5!G=ITB-$H$$e(B
e$B$&$+!“e([email protected]$($kB&LL$O$”$j$^$9$,!#e(B)

iconve$B$N;EMM<+BN$,CfESH>C<$G;H$$$b$N$K$J$i$J$$$G$9$+$i!"e(B
String#encodee$B$KCV$-49$($F$$$/$Y$-$G$7$g$&!#e(B

  1. GNU iconve$B$K$I$C$W$j$H0MB8$7$?%3!<%I$Oe(B(e$B%F%9%[email protected]$($I$be(B)Rubye$BK\BN$Ke(B
    e$B4^$a$J$$$GM_$7$$!#4^$a$k$N$G$"$l$P!"e(BGNU iconve$B$K0MB8$7$F$$$k$3$H$re(B
    e$B$h!<$/$o$+$k$h$&$K$7$FM_$7$$!#e(B

e$B!V$h!<$/$o$+$k$h$&$K!W$9$k$$$$%"%$%G%#%"$O$"$j$^$;$s$+!#e(B

  1. GNU iconve$B$NFH<+$NJQ49;XDj$NJ8;zNs$KBP$7$F!"%&%)!<%K%s%0$r=P$9$h$&$Je(B
    e$B%*%W%7%g%s$+2?$+$,$"$l$P!"$J$*NI$$!#e(B

1.9e$B$KDI2C$7$F$_$^$7$?!#e(B

$ ./ruby -v -riconv -e ‘Iconv.new(“utf-8”, “us-ascii//ignore”)’
ruby 1.9.0 (2008-09-05 revision 19147) [i686-linux]
-e:1: warning: encoding option isn’t portable: ignore

[email protected]@%$G$9!#e(B

Takahiro K. wrote:

test/iconv/test_option.rbe$B$NCf!"$H$$$&$h$j$be(Btest/iconv/test_option.rb
e$B$=$N$b$N$G9T$C$F$$$k%F%9%H$G$9$,!"e(BGNU iconve$B$rA0Ds$H$7$?FbMF$H$J$C$F$$e(B
e$B$^$9!#e(B

//TRANSLIT e$B$He(B //IGNORE e$B7O$Oe(B glibc iconv e$B$He(B GNU
libiconv e$B0MB8$G$9$Me(B

e$B$3$N$?$a!“e(BGNU iconve$B$r%$%s%9%H!<%k$7$F!”$=$l$r;H$&$h$&$K%3%s%Q%$%k$7$Je(B
e$B$$8B$j!"$3$N%F%9%H$Oe(BBSDe$B7O$de(BOpenSolaris(?)e$B$G<:GT$7$^$9!#e(B

1.9 [email protected]|<:GT$7$J$$$h$&$K$7$^$7$?!#e(B

  1. GNU iconve$B$K$I$C$W$j$H0MB8$7$?%3!<%I$Oe(B(e$B%F%9%[email protected]$($I$be(B)Rubye$BK\BN$Ke(B
    e$B4^$a$J$$$GM_$7$$!#4^$a$k$N$G$"$l$P!"e(BGNU iconve$B$K0MB8$7$F$$$k$3$H$re(B
    e$B$h!<$/$o$+$k$h$&$K$7$FM_$7$$!#e(B

e$B%F%9%H0JA0$K!"e(B

  • Iconv.list
  • Iconv.ctlmethods
  • Iconv#trivial?
  • Iconv#transliterate?
  • Iconv#discard_ilseq?
    e$B$J$I!"e(BRuby e$B$Ne(B Iconv e$B%i%$%V%i%j$C$F$=$b$=$bA4BNE*$Ke(B GNU
    e$B4s$j$J$s$G$9$h$M!#e(B
    e$B$J$N$G!"e(BIconv e$B$Oe(B glibc iconv e$B$+e(B GNU libiconv
    [email protected]$j$G$be(B
    e$B$$$$$s$8$c$J$$$+$H;W$$$^$9!#e(B
    e$BB>$N<BAu$G%F%9%H$,<:GT$9$k$N$OD>$9$Y$-$G$7$g$&$,!#e(B
  1. GNU iconve$B$NFH<+$NJQ49;XDj$NJ8;zNs$KBP$7$F!"%&%)!<%K%s%0$r=P$9$h$&$Je(B
    e$B%*%W%7%g%s$+2?$+$,$"$l$P!"$J$*NI$$!#e(B

e$B$^$?!"e(Bglibc iconv e$B$de(B libiconv
e$B$O5,3J$KH?$7$F!"JQ4985$G$Oe(B valid [email protected]$,!“e(B
[email protected]$KBP1~$9$kJ8;z$,B8:_$7$J$$%1!<%9$G$b=*N;$7$F$7$^$&$N$G!“e(B
e$B$=$l$N2sHr$N$?$a$K;XDj$9$k%1!<%9$,$”$k$N$G$O$H$$$&9M;!$b$”$j$^$7$?!#e(B
http://www.hi-matic.org/diary/?20080903#03-2

e$B7k6IFH<+;EMM$N2sHr$N$?$a$KFH<+;EMM$,I,MW$H$$$&E%>B$K$O$^$C$F$$$k$N$G!"e(B
//IGNORE [email protected]$1e(B warning
e$B$r=P$;$P$$$$$H$$$&LdBj$G$b$J$$$s$8$c$J$$$G$9$+$M$’!#e(B

In message [email protected]
on Tue, 9 Sep 2008 00:23:16 +0900,
“NARUSE, Yui” [email protected] wrote:

e$B$J$I!"e(BRuby e$B$Ne(B Iconv e$B%i%$%V%i%j$C$F$=$b$=$bA4BNE*$Ke(B GNU e$B4s$j$J$s$G$9$h$M!#e(B
e$B$J$N$G!"e(BIconv e$B$Oe(B glibc iconv e$B$+e(B GNU libiconv [email protected]$j$G$be(B
e$B$$$$$s$8$c$J$$$+$H;W$$$^$9!#e(B
e$BMW$O!"e(B

glibc iconv/GNU libiconve$B$G$J$$4D6-$K$J$C$?ESC<$KF0$+$J$/$J$ke(B
e$B%"%W%j%1!<%7%g%se(B

e$B$H$$$&$b$N$N:[email protected]$rM^@)$9$kJ}[email protected][email protected]$&$3$H$"$j$^$;$s!#e(B

  1. GNU iconve$B$NFH<+$NJQ49;XDj$NJ8;zNs$KBP$7$F!"%&%)!<%K%s%0$r=P$9$h$&$Je(B
    e$B%*%W%7%g%s$+2?$+$,$"$l$P!"$J$*NI$$!#e(B

e$B$^$?!"e(Bglibc iconv e$B$de(B libiconv e$B$O5,3J$KH?$7$F!"JQ4985$G$Oe(B valid [email protected]$,!“e(B
[email protected]$KBP1~$9$kJ8;z$,B8:_$7$J$$%1!<%9$G$b=*N;$7$F$7$^$&$N$G!“e(B
e$B$=$l$N2sHr$N$?$a$K;XDj$9$k%1!<%9$,$”$k$N$G$O$H$$$&9M;!$b$”$j$^$7$?!#e(B
http://www.hi-matic.org/diary/?20080903#03-2

__ICONV_F_HIDE_INVALIDe$B%U%i%0!";W$$=P$7$^$7$?!#e(B

e$B7k6IFH<+;EMM$N2sHr$N$?$a$KFH<+;EMM$,I,MW$H$$$&E%>B$K$O$^$C$F$$$k$N$G!“e(B
//IGNORE [email protected]$1e(B warning e$B$r=P$;$P$$$$$H$$$&LdBj$G$b$J$$$s$8$c$J$$$G$9$+$M$’!#e(B
e$B!V;H$C$F$/$l$k$Je(B!e$B!W$H!”<gD%$9$k$3$H$b=EMW$+$H!#e(B:-)
Ruby 1.9e$B0J9_$+$i$Oe(B String#encode
e$B$H$$$&6/$$L#J}$b$$$k$o$1$G$9$+$i!#e(B

[email protected]@%$G$9!#e(B

Takahiro K. wrote:

e$BMW$O!"e(B

glibc iconv/GNU libiconve$B$G$J$$4D6-$K$J$C$?ESC<$KF0$+$J$/$J$ke(B
e$B%"%W%j%1!<%7%g%se(B

e$B$H$$$&$b$N$N:[email protected]$rM^@)$9$kJ}[email protected][email protected]$&$3$H$"$j$^$;$s!#e(B

e$B6KNO4D6-0MB8$r8:$i$9$Y$-$H$$$&<q;]$K0[5D$O$"$j$^$;$s!#e(B

  1. GNU iconve$B$NFH<+$NJQ49;XDj$NJ8;zNs$KBP$7$F!"%&%)!<%K%s%0$r=P$9$h$&$Je(B
    e$B%*%W%7%g%s$+2?$+$,$"$l$P!"$J$*NI$$!#e(B
    e$B$^$?!"e(Bglibc iconv e$B$de(B libiconv e$B$O5,3J$KH?$7$F!"JQ4985$G$Oe(B valid [email protected]$,!“e(B
    [email protected]$KBP1~$9$kJ8;z$,B8:_$7$J$$%1!<%9$G$b=*N;$7$F$7$^$&$N$G!“e(B
    e$B$=$l$N2sHr$N$?$a$K;XDj$9$k%1!<%9$,$”$k$N$G$O$H$$$&9M;!$b$”$j$^$7$?!#e(B
    http://www.hi-matic.org/diary/?20080903#03-2

__ICONV_F_HIDE_INVALIDe$B%U%i%0!";W$$=P$7$^$7$?!#e(B

//IGNORE e$B$O<N$F$F$=$NA0$Ne(B encoding [email protected]$1EO$7!"e(B
//IGNORE e$B$N>l9g$Oe(B __ICONV_F_HIDE_INVALID
e$B$r;H$&$C$F$N$,L5Fq$G$9$+$M$’!#e(B

//TRANSLIT e$B$O:#$N$^$^$+$J$!!#e(B

e$B7k6IFH<+;EMM$N2sHr$N$?$a$KFH<+;EMM$,I,MW$H$$$&E%>B$K$O$^$C$F$$$k$N$G!“e(B
//IGNORE [email protected]$1e(B warning e$B$r=P$;$P$$$$$H$$$&LdBj$G$b$J$$$s$8$c$J$$$G$9$+$M$’!#e(B
e$B!V;H$C$F$/$l$k$Je(B!e$B!W$H!”<gD%$9$k$3$H$b=EMW$+$H!#e(B:-)
Ruby 1.9e$B0J9_$+$i$Oe(B String#encode e$B$H$$$&6/$$L#J}$b$$$k$o$1$G$9$+$i!#e(B

Iconv e$B$K$D$$$F$OK\BN$h$j$b%^%K%e%"%kB&$C$F463P$G$9$M!#e(B

Takahiro K. wrote:

//IGNORE e$B$O<N$F$F$=$NA0$Ne(B encoding [email protected]$1EO$7!"e(B

  • Iconv.list

e$B$"$?$j$O<BAu$G$-$k$G$7$g$&!#e(B

e$B$9$G$K$d$C$F$^!&!&!&!"$"$l!"e(B1.8 e$B$K$OF~$l$F$J$+$C$?!#e(B

[email protected]!“e(BIconv.liste$B$O!”$H$b$+$/e(B “//IGNORE” e$B$He(B
e$B$+$Oe(B Ruby e$BB&$G5$$r8z$+$;$FMQ0U$9$Y$-$+$I$&$+$H$$$&$N$,G:$^$7$$$H$3$m$Ge(B
e$B$9!#e(B(e$B2?$+!“HkL)$Ne(Bclasse$BJQ?t$re(Btruee$B$K$9$k$HM-8z$K$J$k$H$+!”$d$C$Q$j1#$9$+!#e(B)

e$B$=$N<j$N%0%m!<%P%k$J>uBV$O0-$G$9$M$’!#e(B

In message [email protected]
on Thu, 11 Sep 2008 00:42:42 +0900,
“NARUSE, Yui” [email protected] wrote:

[email protected]!“e(BIconv.liste$B$O!”$H$b$+$/e(B “//IGNORE” e$B$He(B
e$B$+$Oe(B Ruby e$BB&$G5$$r8z$+$;$FMQ0U$9$Y$-$+$I$&$+$H$$$&$N$,G:$^$7$$$H$3$m$Ge(B
e$B$9!#e(B(e$B2?$+!“HkL)$Ne(Bclasse$BJQ?t$re(Btruee$B$K$9$k$HM-8z$K$J$k$H$+!”$d$C$Q$j1#$9$+!#e(B)

e$B$=$N<j$N%0%m!<%P%k$J>uBV$O0-$G$9$M$’!#e(B
e$BJ}K!$O2?$G$bNI$$$N$G!"e(B

  • e$B%G%U%)%k%H$G$ONc30e(B
  • e$B!V$I$&$7$F$b!W$H$$$&$H$-$OL\N)$?$J$$%*%^%8%J%$$G2sHr2DG=e(B

e$B$H$$$C$?$"$?$j$G$I$&$G$7$g$&!#5$;}$A0-$1$l$P!"$3$N2sHr:v<+BN$bDs6!$9$Ye(B
e$B$-$G$O$J$$$H;W$$$^$9e(B

In message [email protected]
on Wed, 10 Sep 2008 22:49:15 +0900,
“NARUSE, Yui” [email protected] wrote:

//IGNORE e$B$N>l9g$Oe(B __ICONV_F_HIDE_INVALID e$B$r;H$&$C$F$N$,L5Fq$G$9$+$M$’!#e(B
e$B$3$3$K<j$r=P$9$H$$$&$3$H$O!"e(B

int __iconv_get_list(char ***, size_t *);
void __iconv_free_list(char **, size_t);
size_t __iconv(iconv_t, const char **, size_t *, char **,
size_t *, __uint32_t, size_t *);

e$B$H$$$C$?!"e(BCitrus
Iconve$B$NHs8x3+4X?t$r;H$&$3$H$K$J$j$^$9!#$=$&$9$k$H!"e(B

  • Iconv.list

e$B$"$?$j$O<BAu$G$-$k$G$7$g$&!#[email protected]!“e(BIconv.liste$B$O!”$H$b$+$/e(B
“//IGNORE” e$B$He(B
e$B$+$Oe(B Ruby
e$BB&$G5$$r8z$+$;$FMQ0U$9$Y$-$+$I$&$+$H$$$&$N$,G:$^$7$$$H$3$m$Ge(B
e$B$9!#e(B(e$B2?$+!“HkL)$Ne(Bclasse$BJQ?t$re(Btruee$B$K$9$k$HM-8z$K$J$k$H$+!”$d$C$Q$j1#$9$+!#e(B)

In message [email protected]
on Thu, 11 Sep 2008 01:35:33 +0900,
“NARUSE, Yui” [email protected] wrote:

e$B:#998e<T$GNc30=P$9$h$&$K$9$k$3$H$O$"[email protected]$J$$$G$7$g$&!#e(B
e$BA0$K?J$`$?$a$N5>@7$J$i$P$H$b$+$/!"[email protected][email protected]$12u$9$N$O$A$g$C$H!#e(B

e$BL\N)$?$J$$$I$&$3$&$G$J$/!"%0%m!<%P%k$JJQ?t$G5sF0$,JQ$o$k$H!“e(B
e$B%9%l%C%I%;!<%U$8$c$J$/$J$k$N$G$”[email protected]$J$$$G$7$g$&!#e(B
e$B$J$k$[$I!#e(B

e$B>e5-$N0zMQItJ,$O4]$4$HE12s$7$^$9!#e(B:-)

[email protected]@%$G$9!#e(B

e$B8=:_$N>u67$O!"e(B

  • Iconv e$B$NHs?d>)2="*%^%K%e%"%kEy$K5-=Re(B ?
  • Iconv e$B$N0z?t$Ke(B //IGNORE e$BEy$rMQ$$$?;~$Ke(B warning
    1.9 e$B$K<BAu:Q$_e(B (-w e$B;~e(B)
  • Citrus e$BEy$NHsBP1~<BAu$Ge(B //IGNORE e$B$rL5;ke(B
    [email protected]$5$s$,<BAu:[email protected]$C$?e(B

e$B$J$N$G!"0lDL$j2r7h$C$F$3$H$G$$$$$N$G$9$+$M!#e(B

Takahiro K. wrote:

  • e$B!V$I$&$7$F$b!W$H$$$&$H$-$OL\N)$?$J$$%*%^%8%J%$$G2sHr2DG=e(B

e$B$H$$$C$?$"$?$j$G$I$&$G$7$g$&!#5$;}$A0-$1$l$P!"$3$N2sHr:v<+BN$bDs6!$9$Ye(B
e$B$-$G$O$J$$$H;W$$$^$9e(B

e$B%G%U%)%k%H$G$ONc30$C$F$N$Oe(B Citrus iconv e$B$N>l9g$G$9$+!)e(B
glibc e$B$de(B libiconv e$B$N>l9g$b$G$9$+!)e(B
e$B:#998e<T$GNc30=P$9$h$&$K$9$k$3$H$O$"[email protected]$J$$$G$7$g$&!#e(B
e$BA0$K?J$`$?$a$N5>@7$J$i$P$H$b$+$/!"[email protected][email protected]$12u$9$N$O$A$g$C$H!#e(B

e$BL\N)$?$J$$$I$&$3$&$G$J$/!"%0%m!<%P%k$JJQ?t$G5sF0$,JQ$o$k$H!“e(B
e$B%9%l%C%I%;!<%U$8$c$J$/$J$k$N$G$”[email protected]$J$$$G$7$g$&!#e(B

e$B$$^$8$J$$O)@~$J$i$P!"%!<%W%s%/%i%9$J$s$G$9$+$i4]$4$H=q$-49$($?J}$,3N<B$G$9$J!#e(B

In message [email protected]
on Thu, 11 Sep 2008 01:57:55 +0900,
“NARUSE, Yui” [email protected] wrote:

e$B8=:_$N>u67$O!"e(B

e$B$J$N$G!"0lDL$j2r7h$C$F$3$H$G$$$$$N$G$9$+$M!#e(B

  • Iconv e$B$NHs?d>)2="*%^%K%e%"%kEy$K5-=Re(B ?
    e$B$3$l$OM_$7$$$G$9$,!“e(Brie$B$”$?$j$NI=<($K$b$"$k$N$bNI$$$+$H;W$$$^$9!#e(B

[email protected]$G$9!#e(B

NARUSE, Yui wrote in [ruby-dev:36267]:
At Fri, 12 Sep 2008 01:05:57 +0900,

  • Iconv e$B$NHs?d>)2="*%^%K%e%"%kEy$K5-=Re(B ?
    e$B$3$l$OM_$7$$$G$9$,!“e(Brie$B$”$?$j$NI=<($K$b$"$k$N$bNI$$$+$H;W$$$^$9!#e(B

e$B$H$j$"$($:e(B ri e$B$K$OF~$l$F$*$-$^$7$?!"J8LL8+$FE,Ev$KD{@5F~$l$F$/[email protected]$5$$!#e(B

requiree$B$7$?$i7Y9p$r=P$9$H$+e(B?

[email protected]@%$G$9!#e(B

Nobuyoshi N. wrote:

[email protected]$G$9!#e(B

NARUSE, Yui wrote in [ruby-dev:36267]:
At Fri, 12 Sep 2008 01:05:57 +0900,

  • Iconv e$B$NHs?d>)2="%^%K%e%"%kEy$K5-=Re(B ?
    e$B$3$l$OM_$7$$$G$9$,!“e(Brie$B$”$?$j$NI=<($K$b$"$k$N$bNI$$$+$H;W$$$^$9!#e(B
    e$B$H$j$"$($:e(B ri e$B$K$OF~$l$F$
    $-$^$7$?!"J8LL8+$FE,Ev$KD{@5F~$l$F$/[email protected]$5$$!#e(B

requiree$B$7$?$i7Y9p$r=P$9$H$+e(B?

e$B$=$3$^$G$9$k$H;H$$$b$N$K$J$i$J$/$J$C$A$c$&$N$G:$$k$s$8$c$J$$$G$9$+$M!#e(B
e$B%m%8%C%/$,I,MW$JJQ49$O$9$0$K$OA4ItF~$l$i$l$J$$$N$G!"e(B
e$B$b$&$7$P$i$/$Oe(B Iconv e$B$,I,MW$J%1!<%9$bB8:_$9$k$G$7$g$&$N$G!#e(B

Takahiro K. wrote:

In message [email protected]
on Thu, 11 Sep 2008 01:57:55 +0900,
“NARUSE, Yui” [email protected] wrote:

e$B8=:_$N>u67$O!"e(B

e$B$J$N$G!"0lDL$j2r7h$C$F$3$H$G$$$$$N$G$9$+$M!#e(B

  • Iconv e$B$NHs?d>)2="*%^%K%e%"%kEy$K5-=Re(B ?
    e$B$3$l$OM_$7$$$G$9$,!“e(Brie$B$”$?$j$NI=<($K$b$"$k$N$bNI$$$+$H;W$$$^$9!#e(B

e$B$H$j$"$($:e(B ri
e$B$K$OF~$l$F$*$-$^$7$?!"J8LL8+$FE,Ev$KD{@5F~$l$F$/[email protected]$5$$!#e(B

In message [email protected]
on Fri, 12 Sep 2008 02:29:54 +0900,
Nobuyoshi N. [email protected] wrote:

NARUSE, Yui wrote in [ruby-dev:36267]:
At Fri, 12 Sep 2008 01:05:57 +0900,

  • Iconv e$B$NHs?d>)2="*%^%K%e%"%kEy$K5-=Re(B ?
    e$B$3$l$OM_$7$$$G$9$,!“e(Brie$B$”$?$j$NI=<($K$b$"$k$N$bNI$$$+$H;W$$$^$9!#e(B

e$B$H$j$"$($:e(B ri e$B$K$OF~$l$F$*$-$^$7$?!"J8LL8+$FE,Ev$KD{@5F~$l$F$/[email protected]$5$$!#e(B
e$B$3$3$s$H$3$m$G$7$g$&$+!#e(B

  • == Attentions
  • Even if some extentions of implementation dependent are useful,
  • DON’T USE those extentions in libraries and scripts to widely
    distribute.
  • If you want to use those feature, use String#encode.

"those extentions"[email protected]$1$G$O$J$/!“6qBNE*$Ke(B “//IGNORE” e$B$de(B
“//TRANSLIT” e$B$He(B
e$B$+=q$$$F!”$=$l$i$,e(B gnu libc / GNU libconv
[email protected][email protected][email protected]$7$F$O$I$&$G$7$ge(B
e$B$&$+e(B?

requiree$B$7$?$i7Y9p$r=P$9$H$+e(B?
iconv(3)e$B$Oe(BAPIe$B$H$7$F:$$C$?$A$c$s$J$H$3$m$O$"$j$^$9$,!“I8=`$K=>$C$F;HMQe(B
e$B$9$kJ,$K$OLdBj$”$j$^$;$s!#LdBj$J$N$O!"$"$/$^$G$b!VFbNX$NDLMQ8l!W$r;HMQe(B
e$B$9$k$3$H$,LdBj$J$N$G$9$+$i!#e(B