• ベストアンサー

PHPをつかったメール送信時の文字化け

OS :FreeBSD4.8 PHP4.3.2 Apache2 を使用してるものです。 PHPでメール送信のフォームを作成して実際に送ってみるとサブジェクトがどうしても文字化けします。 $subject = i18n_mime_header_encode(i18n_convert($subject, "JIS")); mail($too, $subject, $memo, $ff.$from); 上記のように変換コード関数をいれると Fatal error: Call to undefined function: i18n_mime_header_encode() in /usr/home/mmiyagi/htdocs/send.php のようにエラーがでます。 php.ini設定不足でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#101981
noname#101981
回答No.2

$subject2 = '=?ISO-2022-JP?B?'.base64_encode($subject).'?='; 私は、こうやってます。 文字化けしませんよ、試してみてください

その他の回答 (3)

  • youki64
  • ベストアンサー率33% (3/9)
回答No.4

#2のkat338さんのに補足です。 $subject = '=?ISO-2022-JP?B?'.base64_encode(mb_convert_encoding($subject,"JIS")).'?='; ちなみにphp.iniの設定ではなく、単にi18n_mime_header_encode()を対応していないPHPバージョンなので、エラーが出たんだと思います。

  • umota
  • ベストアンサー率46% (150/324)
回答No.3

私の場合 そのまま mb_send_mail() を使ったら subject の文字化けがなおりました。 (rhl 8.0 Apache2.0.46 php-4.3.2 クライアント Outlook Express)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

mb_encode_mimeheader()では、駄目ですか? http://jp.php.net/manual/ja/function.mb-encode-mimeheader.php もし、これでもだめなら、マルチバイト機能自体が無効な状態である可能性があります。 http://jp.php.net/manual/ja/ref.mbstring.php を読んで、再コンパイルしてみましょう。

参考URL:
http://jp.php.net/manual/ja/function.mb-encode-mimeheader.php

関連するQ&A