Zend_Mail-CharacterSets.xml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  4. <sect1 id="zend.mail.character-sets">
  5. <title>文字セット</title>
  6. <para>
  7. <classname>Zend_Mail</classname> はメールの現在の文字セットをチェックしません。
  8. <classname>Zend_Mail</classname> のインスタンスを作成する際に、メールの文字セットを指定します。
  9. デフォルトは <emphasis>iso-8859-1</emphasis> です。
  10. メールに追加する内容は、すべて正しい文字セットでエンコードされている必要があります。
  11. 新しいメールパートを作成する際には、
  12. 個々のパートについて異なる文字セットを指定できます。
  13. </para>
  14. <note>
  15. <title>テキスト形式限定</title>
  16. <para>
  17. 文字セットが適用されるのは、プレーンテキストのメッセージについてのみです。
  18. </para>
  19. </note>
  20. <example id="zend.mail.character-sets.cjk">
  21. <title>CJK 言語での利用</title>
  22. <para>
  23. 下記の例は日本語での <classname>Zend_Mail</classname> の使い方です。
  24. これは <acronym>CJK</acronym> (別名 <acronym>CJKV</acronym> ) 言語のひとつです。
  25. もしあなたが中国語を使うなら、 <acronym>ISO-2022-JP</acronym> の代わりに
  26. <acronym>HZ-GB-2312</acronym> を使うでしょう。
  27. </para>
  28. <programlisting language="php"><![CDATA[
  29. //PHP スクリプト上で文字列の文字エンコードが UTF-8 と仮定します。
  30. function myConvert($string) {
  31. return mb_convert_encoding($string, 'ISO-2022-JP', 'UTF-8');
  32. }
  33. $mail = new Zend_Mail('ISO-2022-JP');
  34. //この場合、 ISO-2022-JP は MSB を使わないので、
  35. // ENCODING_7BIT を使えます。
  36. $mail->setBodyText(
  37. myConvert('This is the text of the mail.'),
  38. null,
  39. Zend_Mime::ENCODING_7BIT
  40. );
  41. $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
  42. $mail->setFrom('somebody@example.com', myConvert('Some Sender'));
  43. $mail->addTo('somebody_else@example.com', myConvert('Some Recipient'));
  44. $mail->setSubject(myConvert('TestSubject'));
  45. $mail->send();
  46. ]]></programlisting>
  47. </example>
  48. </sect1>
  49. <!--
  50. vim:se ts=4 sw=4 et:
  51. -->