人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

$string = mb_convert_encoding($title, ”ISO-2022-JP”, ”SJIS”);
$name = ””;
$pos=0;
$split=24; // after 36 single bytes characters, if then comes MB, it is broken
while ( $pos < mb_strlen($string,”ISO-2022-JP”) ) {
$output = mb_strimwidth($string,$pos,$split,””,”ISO-2022-JP”);
$pos += mb_strlen($output,”ISO-2022-JP”);
$name .= mb_encode_mimeheader($output,”ISO-2022-JP”, ”B”, ”¥n”);
}
以上のソースを行うとメール本文の上部に
Content-Type: text/plain; charset=iso-2022-jpと表示されます。どうしたらいいのでしょうか??

●質問者: yashio
●カテゴリ:就職・転職 コンピュータ
✍キーワード:24 ISO-2022-JP MB name PoS
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●0ポイント

http://www.hatena.ne.jp/awindow

>どうしたらいいのでしょうか??


という前に どのようにしたいのかが書かれていません。

◎質問者からの返答

メール本文の上部に表示される

Content-Type: text/plain; charset=iso-2022-jpを表示されないようにしたいです。


2 ● jouno
●50ポイント

http://php.s3.to/man/function.mb-encode-mimeheader.html

mb_encode_mimeheader

生成されたメールの生ヘッダーを見ると、Content-Typeの行のまえに、余分な改行が入って、改行が二つ連続してしまっている筈です。


原因は、あげられている部分だけからいうと、whileループの最後のループで、mb_encode_mimeheader($output,”ISO-2022-JP”, ”B”, ”¥n”);の返す値が改行だけになっている可能性があります。その場合には、返りが改行だけの場合は無視してnameに足さない処理を書けばいいはずです。そうなっていない場合は、あげられていないソースのどこかのContent-Type: text/plain; charset=iso-2022-jpを文字列として付加している部分の直前の処理で、余分な改行を足しているはずですので、その部分を直してください。

◎質問者からの返答

ありがとうございます。

ですがどう書いていいのかわかりません。

出来れば教えてくれませんか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ