# \[Feature #3328\] Kernel#p outputs as default\_internal encoding, and so on

**URL:** <https://www.ruby-forum.com/t/feature-3328-kernel-p-outputs-as-default-internal-encoding-and-so-on/188955>\
**Category:** Development\
**Created:** [May 21, 2010, 1:11am UTC](https://www.ruby-forum.com/t/feature-3328-kernel-p-outputs-as-default-internal-encoding-and-so-on/188955 "2010-05-21T01:11:43Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Masaya\_T](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7bcc69/32.png) [@Masaya\_T](https://www.ruby-forum.com/u/Masaya_T)\
**Post date:** [May 21, 2010, 1:11am UTC](https://www.ruby-forum.com/t/feature-3328-kernel-p-outputs-as-default-internal-encoding-and-so-on/188955/1 "2010-05-21T01:11:43Z")

</div>

Feature #3328: Kernel#p outputs as default\_internal encoding, and so on  
[http://redmine.ruby-lang.org/issues/show/3328](http://redmine.ruby-lang.org/issues/show/3328)

e$B5/I\<\<Te(B: Masaya T.  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal  
e$B%+%F%4%je(B: core, Target version: 1.9.x

e$BC.2H$G$9!#e(B

Feature #2102 [ruby-dev:39343]  
e$B$Ge(BString#inspecte$B$K$D$$$F$O6/@)E\*$Ke(Bencodinge$B$rB7$($k$h$&$K$J$j$^$7$?$,!"e(BSymbole$B$de(BRegexpe$B$K$D$$$F$O$=$&$J$C$F$\*$i$:!"F1$8$h$&$J4JC1$K%(%i!\<$K$J$k\>uBV$K$J$C$F$$$^$9!#%f!\<%6!\<Dj5A$Ne(Binspecte$B$K$bF1MM$G$9!#$^$?$Ke(Binspecte$B$GJ8;z%3!\<%I$N0c$$$,6hJL$G$-$^$;$s!#e(B

e$B$=$3$G!"e(BKernel#pe$B$GI=\<($9$kA0$de(BArraye$B$de(BHashe$B$G3Fe(Binspecte$B7k2L$r%^!\<%8$9$kA0$K!"e(BString#inspecte$B$HF1MM$J=hM}$r9T$&$N$O$I$&$G$7$g$&$+!)6qBNE\*$K$Oe(Binspecte$B$GA[Dj$9$ke(BEncodinge$B$H0[$J$k\>l9g$K!“Hse(BASCIIe$BJ8;z$r%(%9%1!\<%WI=\<($K$9$ke(BString#inspect\_encodee$B$rDI2C$7!”$=$l$re(Brb\_inspecte$B$+$i8F$V;v$rDs0F$7$?$$$H;W$$$^$9!#e(BASCIIe$BJ8;z$K$D$$$F$O\<j$r2C$($J$$$?$a!"IT2D5U$G$9$,e$OLdBj$J$$$H;W$$$^$9!#e(B  
e$B$48!F$$r$\*4j$$$7$^$9!#e(B

e$B0J2\<$K8=\>u$HDs0F8e$N7k2L!"e(BKernel#pe$B$NDj5A$NJQ99$r\<($7$^$9!#e(B  
e$B$^$?$3$NJQ99$r9T$&e(Bpatche$B$rE:IU$7$^$9!#e(B

> cat inspect.rb

# -_- encoding: utf-8 -_-

Encoding.default\_external = “WINDOWS-31J”  
STDOUT.set\_encoding “WINDOWS-31J”  
a = "e$B$“e(B”  
su = a.intern  
se = a.encode(“euc-jp”).intern  
sw = a.encode(“windows-31j”).intern  
ru= /#{a}/  
re= /#{a.encode(“euc-jp”)}/  
rw= /#{a.encode(“windows-31j”)}/  
hash = { su =\> se }  
p su,se,sw,ru,re,rw  
p hash rescue p $!  
p [ru,re,rw,su,se,sw] rescue p $!

> ruby\_org inspect.rb  
> :e$B$"e(B  
> :e$B$"e(B  
> :e$B$"e(B  
> /e$B$"e(B/  
> /e$B$"e(B/  
> /e$B$"e(B/  
> #\<Encoding::CompatibilityError: incompatible character encodings: UTF-8  
> and EUC-JP\>  
> #\<Encoding::CompatibilityError: incompatible character encodings: UTF-8  
> and EUC-JP\>

> ruby\_new inspect.rb  
> :\u3042  
> :\x{A4A2}  
> :e$B$"e(B  
> /\u3042/  
> /\x{A4A2}/  
> /e$B$"e(B/  
> {:\u3042=\>:\x{A4A2}}  
> [/\u3042/, /\x{A4A2}/, /e$B$"e(B/, :\u3042, :\x{A4A2}, :e$B$"e(B]

e$B$^$?!"e(B  
Encoding.default\_external = “WINDOWS-31J”  
STDOUT.set\_encoding “WINDOWS-31J”  
class A ;def inspect ; "e$B$“e(B”.encode(“euc-jp”) end ; end  
p A.new  
puts A.new.inspect  
puts A.new.inspect.inspect\_encode  
e$B$N7k2L$,e(B  
\x{A4A2}  
e$B$"e(B  
\x{A4A2}  
e$B$H$J$j!"e(Bpe$B$NDj5A$,\>/$7JQ$o$j$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_T](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7bcc69/32.png) [@Masaya\_T](https://www.ruby-forum.com/u/Masaya_T)\
**Post date:** [May 24, 2010, 2:18pm UTC](https://www.ruby-forum.com/t/feature-3328-kernel-p-outputs-as-default-internal-encoding-and-so-on/188955/2 "2010-05-24T14:18:44Z")

</div>

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

(2010/05/21 8:10), Masaya T. wrote:

> Feature #2102 [ruby-dev:39343] e$B$Ge(BString#inspecte$B$K$D$$$F$O6/@)E\*$Ke(Bencodinge$B$re(B  
> e$BB7$($k$h$&$K$J$j$^$7$?$,!"e(BSymbole$B$de(BRegexpe$B$K$D$$$F$O$=$&$J$C$F$\*$i$:!"e(B  
> e$BF1$8$h$&$J4JC1$K%(%i!\<$K$J$k\>uBV$K$J$C$F$$$^$9!#%f!\<%6!\<Dj5A$Ne(Binspecte$B$K$be(B  
> e$BF1MM$G$9!#$^$?$Ke(Binspecte$B$GJ8;z%3!\<%I$N0c$$$,6hJL$G$-$^$;$s!#e(B

Symbol e$B$He(B Regexp e$B$OK:$l$F$$$^$7$?!#e(B  
e$B3N$+$KBP=h$,I,MW$@$H;W$$$^$9!#e(B

> e$B$=$3$G!"e(BKernel#pe$B$GI=\<($9$kA0$de(BArraye$B$de(BHashe$B$G3Fe(Binspecte$B7k2L$r%^!\<%8$9$kA0$K!"e(B  
> String#inspecte$B$HF1MM$J=hM}$r9T$&$N$O$I$&$G$7$g$&$+!)6qBNE\*$K$Oe(Binspecte$B$Ge(B  
> e$BA[Dj$9$ke(BEncodinge$B$H0[$J$k\>l9g$K!“Hse(BASCIIe$BJ8;z$r%(%9%1!\<%WI=\<($K$9$ke(B  
> String#inspect\_encodee$B$rDI2C$7!”$=$l$re(Brb\_inspecte$B$+$i8F$V;v$rDs0F$7$?$$$He(B  
> e$B;W$$$^$9!#e(BASCIIe$BJ8;z$K$D$$$F$O\<j$r2C$($J$$$?$a!"IT2D5U$G$9$,e$OLdBje(B  
> e$B$J$$$H;W$$$^$9!#e(B e$B$48!F$$r$\*4j$$$7$^$9!#e(B

e$BF1MM$J=hM}$H$$$$$J$,$i$J$\<?7$7$$e(B API e$B$rDI2C$9$k$s$G$9$+!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_T](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7bcc69/32.png) [@Masaya\_T](https://www.ruby-forum.com/u/Masaya_T)\
**Post date:** [May 31, 2010, 12:17pm UTC](https://www.ruby-forum.com/t/feature-3328-kernel-p-outputs-as-default-internal-encoding-and-so-on/188955/3 "2010-05-31T12:17:09Z")

</div>

e$BC.2H$G$9!#e(B

2010e$BG/e(B5e$B7ne(B24e$BF|e(B21:18 NARUSE, Yui [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> NARUSE, Yui [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> e$BF1MM$J=hM}$H$$$$$J$,$i$J$\<?7$7$$e(B API e$B$rDI2C$9$k$s$G$9$+!#e(B

Featuree$B$J$N$G!";dE\*$K;W$$@Z$C$F$I$&=hM}$7$?$iM}A[E\*$@$m$&$H9M$($?7k2L$G$9!#e(B  
e$BF1MM$J=hM}e(B=inspect\_encodee$B$G$9$,!"7k6Ie(BSymbole$B7?$de(BRegexpe$B7?$K8B$i$:e(B  
e$BI,MW$K$J$j$=$&$J$N$GJ,N%$7$?$$$H;W$$$^$7$?!#e(B

e$B$3$l$rF3F~$7$?\>l9g!"85$Ne(BString#Inspecte$B$re(B  
String#old\_Inspecte$B$H$7$?\>l9g!"e(B  
Stringe$B7?e(Bae$B$KBP$7$F!“e(Ba.inspecte$B!!$He(B  
a.old\_inspect.inspect\_encode e$B$,F1$8$K$J$j$^$9!#e(B  
e$B$J$N$G!“F3F~8e$Ke(BString#inspecte$B$r85$KLa$7$?$H$7$Fe(Bpe$B$N7k2L$OJQ$o$j$^$;$s!#e(B  
e$B%f!\<%6!\<Dj5A7?$N\>l9g!“e(Binspecte$B$O$7$P$7$P%f!\<%6!\<$,Dj5A$7$^$9$,!”$=$N;~$b%1%”$7$Fe(B  
e$B$d$j$?$+$C$?$N$G!”$3$&$$$&7A$NDs0F$K$J$j$^$7$?!#e(B

e$B$=$NA0CJ3,$G%f!\<%6!\<Dj5A$Ne(Binspecte$B$O$[$C$F$_$$$F!"e(BSymbol,Regexpe$B$N8e=hM}$H!"e(BArray,  
Hashe$B$J$I:F5"E_$Ke(BIteme$B$Ne(Binspecte$B$r8F$V$b$N$K$D$$$F!"e(BString#inspect\_encodee$B$rHo$;$F$be(B  
e$B$$$$$+$J$H$b;W$C$F$$$^$9!#e(B  
e$B$=$N\>l9g!“e(BAPIe$B$H$7$F8x3+$9$kI,MW$O$”$j$^$;$s$7!"e(Bpe$B$NDj5A$bJQ$o$j$^$;$s$N$G!“2:Ev$G$O$”$j$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_T](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7bcc69/32.png) [@Masaya\_T](https://www.ruby-forum.com/u/Masaya_T)\
**Post date:** [June 1, 2010, 2:19pm UTC](https://www.ruby-forum.com/t/feature-3328-kernel-p-outputs-as-default-internal-encoding-and-so-on/188955/4 "2010-06-01T14:19:27Z")

</div>

e$BC.2H$G$9!#e(B

> e$BM=A[$5$l$^$9!#$=$l$Oe(BAPIe$B%G%6%$%s$H$7$F6Z$,0-$$$N$G$O$J$$$G$7$ge(B  
> e$B$&$+!#e(B

encodinge$B=hM}$NM}A[$O6u5$$N$h$&$K8+$($J$$$H$$$&$N$O3N$+$KAG@2$i$7$$$G$9!#e(B  
e$B;d\<+?He(BEncodinge$B$,$&$^$/M}2r=PMh$J$/$F!“e(B1.9e$B$K0J9\_$9$k$N$rK\Ev$KBgJ,CY$i$;$^$7$?$7!”;E;v$G;H$C$F$$$k$N$O$$$^$@$Ke(B1.8e$B7O$H$$$&BN$?$i$/$G$9!#e(B  
e$B$?$@\>/$J$/$H$b!":#$9$0\<B8=$9$k$b$N$G$O$J$$$G$7$g$&$7!"$=$N$3$m$^$G$=$Ne(BAPIe$B$,;D$C$?$H$9$k$N$K$OL5M}$,L5$$$G$7$g$&$+!)e(B  
e$B\>/$J$/$H$be(BString#encodee$B$,\>C$($k$H$-$K$O0l=o$K\>C$($?$iNI$$$H;W$$$^$9!#e(B  
e$BEvLL$Oe(Bencodinge$B$KHQ$o$5$l$k$H2\>Dj$7$?8=\>u$G$NM}A[$G$9!#e(B

# 

e$B$=$l$H$OJL$K$^$D$b$H$5$s$b7kO@$,$J$$$H8@$o$l$F$$$k!V6u5$$N$h$&$K8+$($J$$!W$O3N$+$KM\_$7$$$G$9$,!";DG0$J$,$i$3$l$H$$$C$?Ds0F$,;W$$Ib$+$P$::#$N$H$3$m=PMh$F$$$^$;$s!#e(B

e$B8=:_$Ne(BString#inspecte$B$Oe(B  
1)e$BIT2D;kJ8;ze(B(e$B@)8fJ8;ze(B)e$B$N2D;k2=$G$"$k=j$N%(%9%1!\<%W$H!"e(B  
2)e$B85$N%(%s%3!\<%I$,!"I=\<(%(%s%3!\<%I$H0c$&\>l9g$K6/0z$KI=\<(%(%s%3!\<%I$K9g$o$;$k=hM}e(B(\x{xxxx}e$B$de(B\uxxxxe$B$X$NCV$-49$(e(B)  
e$B$r9T$C$F$$$^$9$,!"e(B2)e$B$N85$N%(%s%3!\<%I$,I=\<(%(%s%3!\<%I$H0c$&\>l9g$K6/0z$KI=\<(%(%s%3!\<%I$K9g$o$;$k=hM}$Oe(BSymbole$B$de(BRegexp,Array,Hashe$B$GI,MW$J$h$&$K3d$HHFMQE\*$KM_$7$$5!G=$G$9!#e(B  
e$B$^$?e(Bpe$B$,%f!\<%6!\<Dj5A$Ne(Binspecte$B$r8F$V\>l9g$K$b=hM}$5$;$?$$5!G=$@$H;W$$$^$9!#e(B

e$B$\*$=$i$/e(BEncoding::Converter#primitive\_converte$B$r;H$($P2?$H$+F1$85!G=$r\<B8=$G$-$k$s$G$7$g$&$7!“e(B  
e$B$3$l$i$NFbIt$G;H$&$@$1$K$7$FHs8x3+$9$ke(B  
e$B$H$$$&H=CG$O@h$N%a!\<%k$K=q$$$?$h$&$K!”$=$l$O$=$l$G$"$j$G$9!#e(B

e$B$?$@$7!"%f!\<%6!\<$,e(BArraye$B$NMM$J!“FbIt$Ge(Binspecte$B$r8F$V%/%i%9$Ne(Binspcete$B$r=q$/$H$-$K$Oe(BEncodinge$B$K8\_49@-$,L5$$$H5/$3$i$l$ke(B  
e$B2DG=@-$,$”$k8B$j$OI,MW$JJQ49$G$9$7!"8x3+$7$?J}$,$&$l$7$$?M$,B?$$$N$G$O$J$$$H;W$$$^$9!#e(B

e$B\<:GT$;$:$K$J$s$i$+$7$i$N7A$GBP\>]e(Bencodinge$B$KJQ49$7$F$/$l$k4JJX$Je(BAPIe$B$,L5$$$H$$$&8=\>u$Ne(Bencodinge$B4D6-$Oe(Bstricte$B$G$9$,!"e(B  
e$B%W%m%0%i%`$7$F$$$F\<g$K%G%P%C%/$G?I$$$G$9!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_T](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7bcc69/32.png) [@Masaya\_T](https://www.ruby-forum.com/u/Masaya_T)\
**Post date:** [May 31, 2010, 8:14pm UTC](https://www.ruby-forum.com/t/feature-3328-kernel-p-outputs-as-default-internal-encoding-and-so-on/188955/5 "2010-05-31T20:14:14Z")

</div>

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

In message “Re: [ruby-dev:41482] Re: [Feature #3328] Kernel#p outputs as  
default\_internal encoding, and so on”  
on Mon, 31 May 2010 19:16:38 +0900, Masaya TARUI [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
writes:

|e$BC.2H$G$9!#e(B

|\> e$BF1MM$J=hM}$H$$$$$J$,$i$J$\<?7$7$$e(B API e$B$rDI2C$9$k$s$G$9$+!#e(B  
|  
|Featuree$B$J$N$G!";dE\*$K;W$$@Z$C$F$I$&=hM}$7$?$iM}A[E\*$@$m$&$H9M$($?7k2L$G$9!#e(B  
|e$BF1MM$J=hM}e(B=inspect\_encodee$B$G$9$,!"7k6Ie(BSymbole$B7?$de(BRegexpe$B7?$K8B$i$:e(B  
|e$BI,MW$K$J$j$=$&$J$N$GJ,N%$7$?$$$H;W$$$^$7$?!#e(B

e$B7kO@$,$J$$$N$G?=$7Lu$J$$$N$G$9$,!“e(Bencodinge$B=hM}$NM}A[$O6u5$$Ne(B  
e$B$h$&$K8+$($J$$$3$H$G!”$$$D$+$N\>-Mhe(BUnicodee$B$,@$3&@)GF$7$?;~$K\<Be(B  
e$B8=$5$l$k$N$@$H;W$$$^$9e(B(e$B\<B8=$9$k$N$G$"$l$Pe(B)e$B!#$G!“2\>$K$3$Ne(BAPIe$B$,e(B  
e$B$=$N:”$^$G;D$C$?$H$9$k$H!"LUD2$N$h$&$KITMW$J$b$N$K$J$k$3$H$,e(B  
e$BM=A[$5$l$^$9!#$=$l$Oe(BAPIe$B%G%6%$%s$H$7$F6Z$,0-$$$N$G$O$J$$$G$7$ge(B  
e$B$&$+!#e(B
