質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

0回答

1620閲覧

一部のメーラーで差出人名だけが文字化けしてしまいます

y_emo

総合スコア7

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

1クリップ

投稿2020/02/10 22:01

編集2022/01/12 10:55

前提・実現したいこと

コンタクトフォームを作成したのですが、一部のメーラーで差出人名(株式会社サンプル)が文字化けしてしまいます。

イメージ説明

Gmailやヤフーメールなどでは文字化けしないのですが、Becky!とiPhoneのデフォルトのメーラーで文字化けしているようです。
下記の言語と文字コードの使用宣言やヘッダー情報内の書き方が悪いのでしょうか。

どこをどう直したらいいのかわからず、困っています。
どなたか教えていただけませんでしょうか。
よろしくお願いいたします。

該当のソースコード

php

1//言語と文字コードの使用宣言 2mb_language("ja"); 3mb_internal_encoding("UTF-8"); 4 5// 変数とタイムゾーンを初期化 6$header = null; 7$auto_reply_subject = null; 8$auto_reply_text = null; 9date_default_timezone_set('Asia/Tokyo'); 10 11// 差出人元メールアドレス 12$from_mail = "info@sample.com"; 13 14// 差出人名 15$from_name = "株式会社サンプル"; 16 17// 差出人元 18$from = "$from_name<$from_mail>"; 19 20// ヘッダー情報を設定 21$header .= "Content-Type: text/plain\n"; 22$header .= "From: " . $from ."\n"; 23$header .= "Reply-To: " . $from_mail ."\n"; 24$header .= "Organization: " . $from_name ."\n"; 25 26// 件名を設定 27$auto_reply_subject = 'お問い合わせありがとうございます。'; 28 29// 本文を設定 30$auto_reply_text = "この度は、お問い合わせ頂き誠にありがとうございます。 31下記の内容でお問い合わせを受け付けました。\n"; 32$auto_reply_text .="===========================\n\n"; 33$auto_reply_text .= "【 お名前 】" . $_POST['Name'] . "\n"; 34$auto_reply_text .= "【 メールアドレス 】" . $_POST['Email_address'] . "\n"; 35$auto_reply_text .="===========================\n"; 36$auto_reply_text .="内容を確認のうえ、回答させて頂きます。 37しばらくお待ちください。\n\n"; 38 39// メール送信 40mb_send_mail( $_POST['Email_address'], $auto_reply_subject, $auto_reply_text, $header); 41

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/02/10 22:06

どう化ける?
y_emo

2020/02/10 22:12

難しい漢字と半角カタカナが並んでいます。
m.ts10806

2020/02/10 22:16

それをそのまま提示しないと判断できません。 コピペか画面キャプチャを提示してください。
y_emo

2020/02/10 22:20

ありがとうございます。 画面キャプチャを追加しましたので、ご確認お願い致します。
thyda.eiqau

2020/02/13 07:32

Content-Typeにcharsetをつけるとどうなりますか? あと、headerはCRLFで区切る必要があります。CRLF区切りでは動かなかった場合にのみ、LF区切りとするべきですが、こちらは意図的にLF区切りにしているのでしょうか。 実際のコードでは、宛先に$_POSTから得た値を直接入れていないと信じていますが、もし直接入れているなら深刻な脆弱性があるのでご注意ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問