スレッド表示 | フラット表示〕 全トピック 920 件中 139 番目 次≫ ≪前

変数を文字列として認識

created: 2007-02-17 17:05 | modified: 2007-02-18 16:06 | reply: 3

[3588] 変数を文字列として認識

user: シオン | created: 2007-02-17 17:05
質問です。
$testという変数に、文字列である$aiueoを格納したいのですが、
$test="$aiueo";
としても、$aiueoを変数として認識してしまいます、文字列として認識させるにはどうしたらいいでしょうか?

よろしければ教えてください。
reply: 3589 返信 編集 削除

[3589] シングルクォーテーションで

user: ゆうじ | created: 2007-02-17 17:16
こんにちは。

ダブルクォーテーションだと変数が展開されるので
こういう時はシングルクォーテーションで囲みます。

$test = '$aiueo';
Parent: 3588  reply: 3590 返信 編集 削除

[3590] メール文字化け

user: シオン | created: 2007-02-17 20:35
正常になりました。ありがとうございます。

すいませんが、もう1つ質問お願いします。
メール送信したのですが、yahooやmsnなどのWEBメールで閲覧すると件名だけが文字化けしてしまいます。(outlookなどのメールソフトで見ると正常に表示されます)
解決方法を教えてください。

プログラムは以下のようにしています。
$header="Reply-To: ".$_POST['mail']."\nContent-Type: text/plain;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion();

$sbj=mb_convert_encoding($sbj,"JIS","AUTO");
$body = mb_convert_encoding($body,"JIS","AUTO");

mb_send_mail($email,$sbj,$body,$header);

よろしくお願いします。
Parent: 3589  reply: 3595 返信 編集 削除

[3595] Re. メール文字化け

user: ゆうじ | created: 2007-02-18 16:06
mb_send_mailは文字エンコードを自動で変換してくれるので
$sbj=mb_convert_encoding($sbj,"JIS","AUTO");
$body = mb_convert_encoding($body,"JIS","AUTO");
この2行の処理は不要かと思います。
もしかすると内部エンコードに変換する必要が
あるかもしれませんが先ずはこの2行無しでお試し下さい。


しかしmb周りの関数群は、文字数が少ない場合
正しいエンコードを検出できないことがあります。
mb_send_mail ではそれが内部で行われるので
どうにも対処しようがありません。

なのでヘッダや本文のエンコードを自前でやって
mail関数で送信する方が誤検出による文字化けを減らせます。
試してませんがこんな感じでいかがでしょう。

mb_language('Japanese');

// $subject と $body を連結してエンコード検出
// 推測される検出結果にあわせて検出順を替えると吉
$encode = mb_detect_encoding($subject. $body, 'ASCII,SJIS-win,SJIS,eucJP-win,EUC-JP,JIS,UTF-8');

// 文字エンコード変換
if ($encode != 'ASCII') {
if ($encode != 'JIS') {
$subject = mb_convert_encoding($subject, 'JIS', $encode);
$body = mb_convert_encoding($body, 'JIS', $encode);
}
$subject = mb_encode_mimeheader($subject, 'JIS', 'B');
}

// ヘッダ設定
$header = "Reply-To: ". $_POST['mail']. "\r\n"
$header .= "Mime-Version: 1.0\r\n"
$header .= "Content-Type: text/plain;charset=ISO-2022-JP\r\n"
$header .= "Content-Transfer-Encoding: 7bit"

// 送信
mail($email, $subject, $body, $header);
Parent: 3590  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 139 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑