[PHP-users 19450]メールパイピング(件名が文字化け)
Carmical Casey
ccarmical @ hotmail.com
2003年 12月 20日 (土) 06:37:07 JST
はじめまして。
英語版のメールスクリプトを日本語で使おうとしていますが、件名がどうしても文字
化けするのです。phpに詳しい友人に手伝ってもらっていますが、友人は日本語が分
からないのでちょっと難しいです。しかし、友人のおかげで本文は正しく変換される
ようになりました。
このスクリプトはメーラーから送られたメールを登録し、WEBで表示するものです。
ですから、JISからEUC-JPに変換する必要があります。以下のように変更して本文が
正しく表示されるようになりましたが、なぜか件名だけが文字化けしてしまいます。
アドバイスをしていただけないでしょうか。
$debuginfo .= "Starting pipe fetching routines\n";
$fp = @fopen("php://stdin", "r");
if ($fp > 0) {
while(!feof($fp)) {
$line=fgets($fp, 120);
$data .= $line;
if (!isset($body)) {
$headersmm .= $line;
if(ereg("^From:(.+)",$line)) {
$line=ereg_replace("From:","",$line);
$line=trim($line);
$line=ereg_replace ("\\\n","",$line);
$line=addslashes($line);
$sender=$line;
}
if(ereg("^Subject:(.+)",$line)) {
$line=ereg_replace("Subject:","",$line);
$line=trim($line);
$line=ereg_replace ("\\\n","",$line);
$line=addslashes($line);
$subject=$line;
}
if(ereg("^\\\n",$line)) {
$body="";
}
}
else {
$line=addslashes($line);
$body.=$line;
}
}
fclose($fp);
}
$debuginfo .= "Data fetched\n";
$debuginfo .= $headersmm.$body;
$headersmm = mb_convert_encoding($headersmm, "EUC-JP", "JIS");
$body = mb_convert_encoding($body, "EUC-JP", "JIS");
$data = mb_convert_encoding($data, "EUC-JP", "JIS");
$headers = explode("\n",$headersmm);
$mess = explode("\n",$body);
$type = "pipe";
$debuginfo .= "\nStarting processing jobs\n";
$ticketcore->processBody($headers, $mess, "pipe","pipe", $headersmm, $body,
$data);
_________________________________________________________________
友達と24時間ホットライン「MSN メッセンジャー」、今すぐダウンロード!
http://messenger.msn.co.jp
PHP-users メーリングリストの案内