xamppの開発環境を使っています。PHPでメール送信することまでは
できたのですが文章が文字化けしてしまい自分なりに調べて
試行錯誤してみたのですが結果変わらずで初心者なもので
いまいち原因がわからずで困っています^^;
長文となり申し訳ございませんが以下が調べた結果で
関係すると思われる箇所です。
【mail.php】
<html>
<head><title>mail.php</title></head>
<body>
<?php
$address=$_POST['address'];
$subject=$_POST['subject'];
$message=$_POST['message'];
$header = "Content-Type: text/plain; charset=EUC-JP\n";
$header .= "From: 送信先@メールアドレス";
mb_language("Japanese");
if(mb_send_mail($address, $subject, mb_convert_encoding($message,"JIS","EUC-JP"),$header)){
print("送信完了しました。");
}else{
print("エラー:送信に失敗しました");
}
?>
</body>
</html>
【mail.html】
<html>
<head><title>メールの送信</title></head>
<body>
<h2>メールの送信</h2>
<form action="mail.php" method="post">
宛先:<input type="text" name="address"><br />
件名:<input type="text" name="subject"><br />
本文:<br /><textarea name="message" rows="5" cols="30"></textarea><br />
<input type="submit" value="送信">
</form>
</body>
</html>
【php.ini(xampp/apache/bin)】
[mbstring]
; language for internal character representation.
mbstring.language = Japanese
; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = EUC-JP
; http input encoding.
mbstring.http_input = auto
; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = EUC-JP
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
;mbstring.encoding_translation = Off
; automatic encoding detection order.
; auto means
;mbstring.detect_order = auto
; substitute_character used when character cannot be converted
; one from another
;mbstring.substitute_character = none;
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
;mbstring.func_overload = 0
このような形なのですがどこが文字化けの原因なのでしょうか?
大変アバウトな感じで申し訳ないのですが
わかる方がおりましたら是非お力添えお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
まず【mail.php】【mail.html】ですが
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp"/>
↑この様にきちんと文字コードを設定しましょう。
mb_convert_encoding($message,"JIS","EUC-JP"),$header)
↑本文の文字コードをeuc-jpからjisに変換していますが
$header = "Content-Type: text/plain; charset=EUC-JP\n";
↑ヘッダーはeuc-jpのままです。
文字コードは統一しておかないと文字化けして当然ですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP php ログイン 1 2022/11/01 00:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php 完了画面の送信メールのコ...
-
PHPからメールを送る@さくらイ...
-
PHPsendmailにて送信元を変更
-
メールの本文が取得できない
-
mailやmb_send_mail関数で、本...
-
さくらサーバーにて、phpからメ...
-
【初歩?】変数をセットできな...
-
mail関数を使った場合のReturn-...
-
Received-SPFでレンタルサーバ...
-
phpでのメール転送(添付ファイ...
-
PHPからのメールがこない
-
PHPでトラックバック機能 HTTP...
-
mail関数で複数の宛先にメール...
-
PHPMailerのコードエラーが解決...
-
PEAR の Mail_mimeDecodeで
-
PHPでメールを送信するには
-
PHPでの仮登録時の会員認証メー...
-
FTPコマンドでディレクトリごと...
-
バッチを用いたフォルダの自動移動
-
rename関数 できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
さくらサーバーにて、phpからメ...
-
メールフォームのタイトルが文...
-
PHPsendmailにて送信元を変更
-
ワードプレス 予約システム
-
mb_send_mail関数が利用出来ない
-
PHPMailerのコードエラーが解決...
-
mb_send_mail() 第 4、5 引数の...
-
ローカル環境でのメール送信
-
PHPからロリポップ!のメールサ...
-
パワーポイントVBA 添付ファイ...
-
mailやmb_send_mail関数で、本...
-
php 完了画面の送信メールのコ...
-
Received-SPFでレンタルサーバ...
-
PHPでメールを送信するには
-
メール送信プログラム
-
phpでのメール転送(添付ファイ...
-
指定した時間にPHPプログラムを...
-
サーバーによってはmb_send_mai...
-
excel VBAでメールを送る方法に...
-
PHP5での空メールが実行されない
おすすめ情報