| 1 | 
wakaba | 
1.1 | 
<?xml version="1.0" encoding="iso-2022-jp"?> | 
| 2 | 
  | 
  | 
<?xml-stylesheet href="/s/simpledoc.css" type="text/css" ?> | 
| 3 | 
  | 
  | 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | 
| 4 | 
  | 
  | 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | 
| 5 | 
  | 
  | 
<html xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml"> | 
| 6 | 
  | 
  | 
<head> | 
| 7 | 
  | 
  | 
<title xml:lang="en">Message::* Perl modules $B$NJ8;z%3!<%I$N07$$(B</title> | 
| 8 | 
  | 
  | 
<link rel="index" href="./" /> | 
| 9 | 
  | 
  | 
<link rel="prev" href="introduction" title="Message::* Perl Modules $B$N>R2p(B" /> | 
| 10 | 
  | 
  | 
<link rel="stylesheet" href="/s/simpledoc.css" type="text/css" /> | 
| 11 | 
  | 
  | 
<link rev="made" href="mailto:w@suika.fam.cx" /> | 
| 12 | 
  | 
  | 
<link rel="copyright" href="/c/pd" title="Public Domain." /> | 
| 13 | 
  | 
  | 
<meta name="author" content="$B<cMU(B" /> | 
| 14 | 
  | 
  | 
<meta name="keywords" content="Perl, module, pm, Message, $BJ8;z%3!<%I(B, $B%U%C%/4X?t(B, charset, $BId9f2=J8;z=89g(B, $BJ8;zId9f2=J}<0(B, CCS, CES" /> | 
| 15 | 
  | 
  | 
</head> | 
| 16 | 
  | 
  | 
<body> | 
| 17 | 
  | 
  | 
<h1><a href="introduction">Message::* Perl modules</a> $B$NJ8;z%3!<%I$N07$$(B</h1> | 
| 18 | 
  | 
  | 
 | 
| 19 | 
  | 
  | 
<ul> | 
| 20 | 
  | 
  | 
        <li><a href="#ja">$B<j$C<h$jAa$/F|K\8l$,;H$($k$h$&$K$9$kJ}K!(B</a></li> | 
| 21 | 
  | 
  | 
        <li><a href="#hook">$B%U%C%/4X?t$C$]$$$b$N$N@bL@(B</a></li> | 
| 22 | 
wakaba | 
1.2 | 
        <li><a href="#implemention">$BFbIt<BAu$K$D$$$F$N3P=q(B</a></li> | 
| 23 | 
wakaba | 
1.1 | 
        <li><a href="#future">$B>-Mh7W2h(B</a></li> | 
| 24 | 
  | 
  | 
</ul> | 
| 25 | 
  | 
  | 
 | 
| 26 | 
  | 
  | 
<h2 id="ja">$B<j$C<h$jAa$/F|K\8l$,;H$($k$h$&$K$9$kJ}K!(B</h2> | 
| 27 | 
  | 
  | 
 | 
| 28 | 
  | 
  | 
<p>$BF|K\8lJ8;z%3!<%IJQ49$KNI$/;H$o$l$k!"(B | 
| 29 | 
  | 
  | 
<a href="http://srekcah.org/jcode/">jcode.pl</a> $B$d(B  | 
| 30 | 
  | 
  | 
<a href="http://openlab.ring.gr.jp/Jcode/">Jcode.pm</a>, | 
| 31 | 
  | 
  | 
<a href="http://bw-www.ie.u-ryukyu.ac.jp/~kono/software.html">NKF.pm</a> | 
| 32 | 
  | 
  | 
$B$J$I$r;H$&$?$a$NDj5A%b%8%e!<%k$rMQ0U$7$F$$$^$9!#$3$l$r<!$NNc$N$h$&$K(B | 
| 33 | 
  | 
  | 
<code>use</code> $B$9$k$@$1$G;H$($^$9!#(B</p> | 
| 34 | 
  | 
  | 
 | 
| 35 | 
  | 
  | 
<pre class="example perl"> | 
| 36 | 
  | 
  | 
<span class="comment">## $B$I$A$i$+9%$-$JJ}$r$I$&$>!#(B</span> | 
| 37 | 
  | 
  | 
use Message::MIME::Charset::Jcode 'Jcode';      ## 'Jcode.pm' $B$H=q$$$F$bNI$$!#(B | 
| 38 | 
  | 
  | 
use Message::MIME::Charset::Jcode 'jcode.pl'; | 
| 39 | 
  | 
  | 
</pre> | 
| 40 | 
  | 
  | 
 | 
| 41 | 
  | 
  | 
<p>jcode.pl $B$d(B Jcode.pm $B$J$I$O!"<+F0E*$K(B  | 
| 42 | 
  | 
  | 
<code>require</code>/<code>use</code> $B$5$l$^$9!#(B</p> | 
| 43 | 
  | 
  | 
 | 
| 44 | 
  | 
  | 
<p>$B$A$J$_$K!"J#?t2s(B Message::MIME::Charset::Jcode  | 
| 45 | 
  | 
  | 
$B$rFI$_9~$s$@>l9g$K$O:G8e$NDj5A$,M-8z$K$J$j$^$9!#$^$?!"(B | 
| 46 | 
  | 
  | 
($BEvA3$H$$$($PEvA3$G$9$,(B) $B$=$N%b%8%e!<%k$GMxMQ2DG=$J(B charset | 
| 47 | 
  | 
  | 
$B$N$_Dj5A$5$l$^$9!#$G$9$+$i!">e$NNc$NDL$j$N=gHV$G=q$$$F$*$/$3$H$G!"(B | 
| 48 | 
  | 
  | 
<code class="mime-charset">UTF-8</code> $B$O(B Jcode.pm $B$G!"$=$l0J30$N>l9g$O(B | 
| 49 | 
  | 
  | 
jcode.pl $B$GJQ49$,9T$o$l$^$9!#(B</p> | 
| 50 | 
  | 
  | 
 | 
| 51 | 
  | 
  | 
<p>$B$J$*!"FbItJ8;z%3!<%I(B ($B%a%=%C%I$J$I$GCM$r<h$j=P$7$?;~$NId9f2=J}<0(B) | 
| 52 | 
  | 
  | 
$B$O!"JQ49%b%8%e!<%k$NFbIt%3!<%I$^$?$OF|K\8l(B EUC $B$K$J$j$^$9!#(B | 
| 53 | 
  | 
  | 
(jcode.pl $B$d(B Jcode.pm $B$G$OF|K\8l(B EUC $B$G$9!#(B) $B$3$l$rJQ99$9$k$K$O!"(B | 
| 54 | 
  | 
  | 
<code>$Message::MIME::Charset::Jcode::CODE{internal}</code> | 
| 55 | 
  | 
  | 
$B$r(B <code>'sjis'</code> $B$d(B <code>'jis'</code> (7$B%S%C%H(B ISO/IEC 2022) | 
| 56 | 
  | 
  | 
$B$J$I$K$7$F2<$5$$!#(B</p> | 
| 57 | 
  | 
  | 
 | 
| 58 | 
  | 
  | 
<h2 id="hook">Charset $B$NDj5A(B</h2> | 
| 59 | 
  | 
  | 
 | 
| 60 | 
  | 
  | 
<p>$B4{Dj$N>uBV$G$O!"K\J8$d(B <code class="bnf rfc822">quoted-string</code> | 
| 61 | 
  | 
  | 
$B$J$I$NItJ,$K$D$$$F!"J8;z%3!<%I$K4X78$9$kJQ49=hM}$O9T$o$l$^$;$s!#(B | 
| 62 | 
  | 
  | 
Perl $B$N%U%!%$%kF~=PNO$J$I$,$=$&$G$"$k$h$&$K!"C1$J$k(B8$B%S%C%H$N%*%/%F%C%HNs$H$7$F07$$$^$9!#(B</p> | 
| 63 | 
  | 
  | 
 | 
| 64 | 
  | 
  | 
<p>$BJ8;z%3!<%I$NJQ49=hM}(B ($B%a%C%;!<%8$NId9f2=J8;z=89g$+$i(B | 
| 65 | 
  | 
  | 
script $BFbIt$NId9f2=J8;z=89g$X$NJQ49$H!"$=$N5U(B) | 
| 66 | 
  | 
  | 
$B$rDj5A$9$k$K$O!"(B  | 
| 67 | 
  | 
  | 
<code class="perl">Message::MIME::Charset::make_charset</code> | 
| 68 | 
  | 
  | 
$B$r;H$$$^$9!#MxMQNc$O(B Message::MIME::Charset::Jcode | 
| 69 | 
  | 
  | 
$B$r8+$F2<$5$$!#(B</p> | 
| 70 | 
  | 
  | 
 | 
| 71 | 
  | 
  | 
<p><code class="perl">*default</code> $B$OFCJL$J(B charset | 
| 72 | 
  | 
  | 
$B$G!"(B MIME $B$J$I$G(B charset $B$,;XDj$5$l$F$$$J$$!"(B | 
| 73 | 
  | 
  | 
<code class="bnf rfc822">quoted-string</code> | 
| 74 | 
  | 
  | 
$B$NJQ49=hM}$rDj5A$7$^$9!#(B ($B$J$*!"0lHL$K(B charset $BL>$O!"(B | 
| 75 | 
  | 
  | 
Message::* $B3F%b%8%e!<%k$G$O>.J8;z$K@55,2=$7$?>uBV$G=hM}$7$^$9$+$i!"$3$&$7$?(B | 
| 76 | 
  | 
  | 
charset $BDj5A$O>.J8;z$G9T$$$^$9!#(B)</p> | 
| 77 | 
  | 
  | 
 | 
| 78 | 
  | 
  | 
<p>$B$3$N(B charset  | 
| 79 | 
  | 
  | 
$BDj5A$O!"EvA3!"Ev3:=hM}$,8F$S=P$5$l$kA0$K9T$C$F$*$/I,MW$,$"$j$^$9!#(B | 
| 80 | 
  | 
  | 
<samp class="perl">Message::Entity->parse</samp> $B$J$I$9$kA0$K(B | 
| 81 | 
  | 
  | 
$BDj5A$7$F$*$/$HNI$$$G$7$g$&!#(B</p> | 
| 82 | 
  | 
  | 
 | 
| 83 | 
  | 
  | 
<p>Charset $BDj5A$N(B name_minimumizer $BB0@-$O!"L>A0:G>.2=$N4X?t$r;XDj$7$^$9!#(B | 
| 84 | 
  | 
  | 
MIME $B$K$h$k$H(B charset $BL>$O!";HMQ$5$l$F$$$kJ8;z$NHO0O$N:G>.8xG\?tE*$J$b$N$K$9$kI,MW$,$"$j$^$9!#(B | 
| 85 | 
  | 
  | 
($BNc$($P!"4pK\%i%F%sJ8;z$N$_$+$i$J$k(B  | 
| 86 | 
  | 
  | 
<code class="mime-charset">ISO-2022-JP</code> $B$O!"L>A0$r:G>.2=$7$F(B | 
| 87 | 
  | 
  | 
<code class="mime-charset">US-ASCII</code> $B$H$7$J$1$l$P$J$j$^$;$s!#(B)</p> | 
| 88 | 
  | 
  | 
 | 
| 89 | 
  | 
  | 
<p>$B$J$*!"(B  | 
| 90 | 
  | 
  | 
<code class="mime-charset">ISO-2022-JP</code> $B$J$I4v$D$+$N(B charset | 
| 91 | 
  | 
  | 
$BMQ$K$O(B Message::MIME::Charset $B$GAH$_9~$_Dj5A$5$l$F$$$^$9$N$G!"2~$a$F;XDj$9$kI,MW$O$"$j$^$;$s!#(B</p> | 
| 92 | 
  | 
  | 
 | 
| 93 | 
wakaba | 
1.2 | 
<h2 id="implemention">$BFbIt<BAu$K$D$$$F$N3P=q(B</h2> | 
| 94 | 
  | 
  | 
 | 
| 95 | 
  | 
  | 
<p>$BJ8;z2s$j$O<BAu$7$?K\?M$9$i2?$,$J$s$@$+NI$/$o$+$j$^$;$s!#(B | 
| 96 | 
  | 
  | 
$B85!9?'!9$J;EMM$d47=,$,F~$j:.$8$C$F$kItJ,$J$N$G!"e:No$J<BAu$OIT2DG=$+$b$7$l$^$;$s!#(B</p> | 
| 97 | 
  | 
  | 
 | 
| 98 | 
  | 
  | 
<p><code class="perl">encoding_before_decode</code> | 
| 99 | 
  | 
  | 
$B$OI|9fA0(B ($B$N@8%a%C%;!<%8(B) $B$N(B charset, | 
| 100 | 
  | 
  | 
<code class="perl">encoding_after_encode</code> | 
| 101 | 
  | 
  | 
$B$OId9f2=8e(B ($B$N@8%a%C%;!<%8(B) $B$K(B charset$B!#DL>o$OF1$8CM$K$7$^$9$,!"(B | 
| 102 | 
  | 
  | 
EUC-JP ($B5<;w(B) RFC 822 $B$+$i(B ISO-2022-JP RFC 822  | 
| 103 | 
  | 
  | 
$B$KJQ49$9$k$h$&$J;~$K;H$($^$9(B ($B$+$b(B)$B!#(B ($B$G$b(B *default charset | 
| 104 | 
  | 
  | 
$B$NJQ49=hM}B&$G:Y9)$7$?J}$,3Z!#(B)</p> | 
| 105 | 
  | 
  | 
 | 
| 106 | 
  | 
  | 
<p>$BN>(B encoding_* option $B$K$O!"(B *default ($B5<;w(B) charset | 
| 107 | 
  | 
  | 
$B$r;XDj$G$-$^$9!#$[$H$s$I$N(B module $B$G$O$3$l$,4{DjCM$G$9!#(B | 
| 108 | 
  | 
  | 
HTTP $B$K;H$&$H$-$O$3$l$r(B ISO-8859-1 $B$KJQ$($?$j$7$^$9!#(B</p> | 
| 109 | 
  | 
  | 
 | 
| 110 | 
  | 
  | 
<p><code class="perl">header_default_charset</code>, | 
| 111 | 
  | 
  | 
<code class="perl">body_default_charset</code> | 
| 112 | 
  | 
  | 
$B$O!"(B *default ($B5<;w(B) charset $B$N(B IANA charset $BL>!#(B | 
| 113 | 
  | 
  | 
$B0EL[;XDj(B charset $B$rL@<($9$kI,MW$,=P$?;~(B (Content-Type: $BNN0h$NIUM?(B, | 
| 114 | 
  | 
  | 
RFC 2231 $BId9f2=$J$I$N;~(B) $B$K;H$o$l$^$9!#(B</p> | 
| 115 | 
  | 
  | 
 | 
| 116 | 
  | 
  | 
<p>*default charset $B$O(B charset $BL>;%$,$J$$J8;zNs$K2>Dj$5$l$^$9!#(B | 
| 117 | 
  | 
  | 
$BG^BN7?$N(B charset $B%Q%i%a!<%?!<$d(B encoded-word $B$d(B RFC 2231 | 
| 118 | 
  | 
  | 
$B$G(B charset $BL>$,L@<($5$l$F$$$k;~$K$O!"$=$A$i$N(B charset | 
| 119 | 
  | 
  | 
$BL>$,;H$o$l$^$9!#(B</p> | 
| 120 | 
  | 
  | 
 | 
| 121 | 
  | 
  | 
<p><code class="perl">header_default_charset_input</code>, | 
| 122 | 
  | 
  | 
<code class="perl">body_default_charset_input</code> | 
| 123 | 
  | 
  | 
$B$O!"(B <code class="perl">encoding_before_decode</code> | 
| 124 | 
  | 
  | 
$B$NCM$,(B *default $B$N;~$N!"$=$N(B IANA charset $BL>$r;XDj$7$^$9!#(B | 
| 125 | 
  | 
  | 
$BDL>o$OFI$_9~$_;~$KFbItJ8;z=89g$KJQ49$7$^$9$,!"$3$N(B | 
| 126 | 
  | 
  | 
input charset $B$+$iFbItJ8;z=89g$KJQ49=PMh$J$$>l9g!"(B | 
| 127 | 
  | 
  | 
$B$=$N$^$^L5JQ49$GJ];}$7$^$9!#$3$l$r=PNO$9$k>l9g$G(B charset | 
| 128 | 
  | 
  | 
$BL>$,I,MW$K$J$C$?;~$K!"(B ($BK\Mh$J$i(B  | 
| 129 | 
  | 
  | 
<code class="perl">encoding_after_encode</code> $B$r;H$$!"$=$NCM$,(B | 
| 130 | 
  | 
  | 
*default $B$N;~$O99$K(B *_default_charset $B$NCM$r;H$&$N$G$9$,!"(B | 
| 131 | 
  | 
  | 
$BJQ49ITG=$J(B charset $B$+$i$=$l$X$OJQ49=PMh$J$$$N$G!"(B) | 
| 132 | 
  | 
  | 
input charset $B$r$=$N$^$^=PNO$7!"$3$NL>A0$r;H$$$^$9!#(B</p> | 
| 133 | 
  | 
  | 
 | 
| 134 | 
wakaba | 
1.1 | 
<h2 id="future">$B>-Mh7W2h(B</h2> | 
| 135 | 
  | 
  | 
 | 
| 136 | 
  | 
  | 
<ul> | 
| 137 | 
  | 
  | 
<li>Perl 5.8 $BBP1~(B | 
| 138 | 
  | 
  | 
        <ul> | 
| 139 | 
  | 
  | 
                <li>UTF-8 $B4z$,IU$$$?J8;zNs$r@5$7$/07$($k$h$&$K$9$k!#(B</li> | 
| 140 | 
  | 
  | 
                <li>Encode $B%b%8%e!<%kMQ$NDj5A%b%8%e!<%k$N:n@.!#(B</li> | 
| 141 | 
  | 
  | 
        </ul> | 
| 142 | 
  | 
  | 
</li> | 
| 143 | 
wakaba | 
1.2 | 
<li>IANA $BDj5A$KH?$9$k(B charset $BL>;HMQ$X$NBP=h(B | 
| 144 | 
  | 
  | 
        <ul> | 
| 145 | 
  | 
  | 
                <li>$B%a%C%;!<%8$,(B M$ $B@=IJ$+$iAw?.$5$l$?$b$N$HH=CG=PMh$k>l9g$K!"(B | 
| 146 | 
  | 
  | 
                charset $BL>$N2r<a$r0lItJQ99$9$k!#(B</li> | 
| 147 | 
  | 
  | 
        </ul> | 
| 148 | 
  | 
  | 
</li> | 
| 149 | 
  | 
  | 
<li>encoded-word $BId9f2=$X$NBP1~(B | 
| 150 | 
  | 
  | 
        <p>encoded-word $B$O7y$$$G$9$,!"I,MW$K$J$k>lLL$,$"$k0J>e!"$$$:$l<BAu$7$^$9!#$@$1$IM%@h=g0L$ODc$a!#(B</p> | 
| 151 | 
  | 
  | 
</li> | 
| 152 | 
wakaba | 
1.1 | 
</ul> | 
| 153 | 
  | 
  | 
 | 
| 154 | 
  | 
  | 
<div class="navigation"> | 
| 155 | 
  | 
  | 
[<a href="/" title="$B$3$N%5!<%P!<$N<sJG(B">/</a> | 
| 156 | 
  | 
  | 
<a href="/map" title="$B$3$N%5!<%P!<$N0FFb(B" rel="index">$BCO?^(B</a> | 
| 157 | 
  | 
  | 
<a href="/search/" title="$B$3$N%5!<%P!<$N8!:w(B">$B8!:w(B</a>] | 
| 158 | 
  | 
  | 
 | 
| 159 | 
  | 
  | 
[<a href="introduction" title="Message::* Perl Modules $B$N>R2p(B">$B>R2p(B</a>] | 
| 160 | 
  | 
  | 
 | 
| 161 | 
  | 
  | 
<a href="http://validator.w3.org/check/referer" xml:lang="en"><img | 
| 162 | 
  | 
  | 
        src="http://www.w3.org/Icons/valid-xhtml11" id="w3c-html" | 
| 163 | 
  | 
  | 
        alt="Valid XHTML 1.1!" style="height: 31px; width: 88px" /></a> | 
| 164 | 
  | 
  | 
<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://suika.fam.cx/~wakaba/Message-pm/charset.ja.html" xml:lang="en"> | 
| 165 | 
  | 
  | 
  <img style="width: 88px; height: 31px" id="w3c-css" | 
| 166 | 
  | 
  | 
       src="http://jigsaw.w3.org/css-validator/images/vcss"  | 
| 167 | 
  | 
  | 
       alt="Valid CSS!" /></a> | 
| 168 | 
  | 
  | 
</div> | 
| 169 | 
wakaba | 
1.2 | 
<div class="update">$Date: 2002/07/13 11:51:56 $</div> | 
| 170 | 
wakaba | 
1.1 | 
<ul class="myuri"> | 
| 171 | 
  | 
  | 
<li><URL:<a href="http://suika.fam.cx/~wakaba/Message-pm/introduction">http://suika.fam.cx/~wakaba/Message-pm/introduction</a>></li> | 
| 172 | 
  | 
  | 
<li><CVS:<a href="http://suika.fam.cx/gate/cvs/perl/web/Message-pm/">suika.fam.cx:/home/cvs/perl/web/Message-pm/</a>></li> | 
| 173 | 
  | 
  | 
</ul> | 
| 174 | 
  | 
  | 
</body></html> |