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

php4.2

PHPを使ってメールを送ろうと思います。
下記で文字化けします。
どのように文字化けをしないよう設定すればいいですか?

print("<a href=\"mailto:test@jp?subject=件名&body=こんにちは\"">

※本文に日本語を入れたいです。
文字化けしない関数をmb_send_mail関数以外で教えてください。
※mb_detect_encoding関数はつかえませんか?

エンコードして文字化けしないように設定する方法を、mb_send_mail関数は上手く使えないので、それ以外で具体的に教えてください。

●質問者: rrr3
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP print エンコード メール 文字化け
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● GEN111
●35ポイント

現実問題として、すべての閲覧者の環境において文字化けしないようにするのは困難です。

最大公約数的な手法として Shift_JIS の URL エンコードというものがあります。以下のコードを試してください。

$subject = '件名' ;
$body = 'こんにちは' ;

$subject = urlencode(mb_convert_encoding($subject, 'sjis', 'eucjp')) ;
$body = urlencode(mb_convert_encoding($body, 'sjis', 'eucjp')) ;
// eucjp の部分は使用している文字コードに合わせてください

print("<a href=\"mailto:test@jp?subject=$subject&body=$body\">メール</a>") ;

EUCのページでmailtoのサブジェクトを指定するには?

◎質問者からの返答

分かりやすかったです!

ありがとうございます。


2 ● chankaz
●35ポイント

mb_send_mail関数以外ということですので、

print('<a href="mailto:test@jp?subject='.urlencode('件名').'&amp;body='.urlencode('こんにちは').'">メーラーから送信</a>');

でいかがでしょうか。


http://jp.php.net/manual/ja/function.urlencode.php

関連質問


●質問をもっと探す●



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