予約機能があるサイトをロリポップのサーバーで運営していましたが、この度、海外のbluehostに移転しました。サイトは問題なく表示が出来、予約も受け付けられるのですが、私が受け取る予約メールとご予約された方が受け取る確認メールが文字化けしてしまいます。サーバー運営者に質問したところ、CGIのヘッダーのエンコードをContent-Type: text/plain;charset=iso-8859-1にする必要があると言われたのですが、どの様に設定したらいいのか分かりません。CGI内を見たところConfirm DataとErrorにContent-type: text/html\n\nという文字を見つけたので、その個所をContent-Type: text/plain;charset=iso-8859-1に変えたりしてみたのですが、状況は悪化しました。どの様に設定すれば良いのか、分かる方がいらっしゃったら教えてください。よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
開示いただいたところでは判断つけることは出来ませんでした。
一般に公開されているものかと思ったのですが、専用に作成したものですから
直接見ることが出来れば良いのですが、現状では作成者へ相談してもらうしかないでしょうね。
No.1
- 回答日時:
問題はWEB上の表示ではなく、併せて送信するメールでの問題ですね?
メール作成・送信に関する部分を特定してメールヘッダー作成の部分を修正することになるのでしょうね。
「Content-type: text/html\n\n」は、html形式のメール作成しているなら合っているのですが
WEB表示の作成部分と思われますよ。
ちなみに
「Content-type: text/html\n\n」の部分は、WEB上の表示ではと思えるので
状況が悪化したとはWEB上でしょうかメールでしょうか?
文字化けするのは件名と本文のどちらでしょうか?
よかったら、予約システムについて入手先を教えてもらえませんか。
この回答への補足
neko2koban様
ご回答頂きましてありがとうございました。
最初の状態で、件名は文字化けしませんでした。
しかし、Mail CGIファイルを分かりもせずに変更したところ、件名も文字化けしたので、最初の状態に戻しました。
悪化したというのは情報を入力後、送信で確認ページに飛んで、その後にもう一度送信でこちらに予約メールが届くようになっているのですが、その確認ページで文字化けしたり、そのページにさえ飛ばなくエラーメッセージが表示されたりしました。
予約システムは知り合いの方に制作していただき問題なく機能していたのですが、今回サーバーの移転に当たり、新しいサーバー(海外のbluehost)にアップしたところ文字化けなどの問題が起こるようになりました。
予約ページ以外も文字化けをしたのですが、Htmlのcontent="text/html; charset=をShift-JISからUTF-8に変更したところ、正常に表示されるようになりました。
ホスティング会社に連絡したところ下記の返事を受け取りました。
私のサイトにもこの様なエンコーディングをヘッドに入れる必要があるのと、UTFが私のサイトにとって正しいエンコーディングか分からないと返事をもらったのですが、あまり指摘してもらっている意味が分かっていません。
もし理解できるのであれば、私のサイトをどの様に変更する必要があるのか教えて頂けませんか?
よろしくお願いいたします。
---------------------------
Please take a look at this PHP mail function:
<?php
function mail_utf8($to, $subject = '(No subject)', $message = '', $from) {
$header = 'MIME-Version: 1.0' . "\n" . 'Content-type: text/plain; charset=UTF-8'
. "\n" . 'From: Yourname <' . $from . ">\n";
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header);
}
?>
Notice how they set the encoding directly in the header. You need to do that with your mail.cgi script. Also, i don't know if UTF-* is the proper encoding for your website, you should google what type of encoding you need to use.
-----------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミングについての質問...
-
ラジオボタンが両方とも選択で...
-
wordの数式について 定積分を書...
-
INPUT TYPE
-
WEBページを強制的に横画面で見...
-
別formのhidden項目を自form値...
-
CGI→CGI変数の引き継ぎは...
-
チェックボックスの返す値
-
VB.net データーグリッドビュー...
-
iframeごとに戻るボタンを
-
select値をhiddenのvalueに渡し...
-
vsftpd+sslでアップロードできない
-
ディレクトリのファイル数取得
-
perl/cgi リダイレクトができない
-
クッキーを使って投票欄に名前...
-
テキストBOXの縦幅
-
tracert ができない原因
-
プルダウンメニューにテキスト...
-
postデータのあるページの再表示
-
コンボ1の内容に応じてコンボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UTF-8で文字化けしないようにす...
-
cgiからsendmailを送信で文字化け
-
perlを難読化、暗号化させたい
-
プログラミングについての質問...
-
cgiで動画ファイルをアップロー...
-
CGI実行できない。ソースが表示...
-
WEBアプリケーションからフォル...
-
CGI管理ページなどより背景画像...
-
content-dispositionによるファ...
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
「value」に2つの値をセットす...
-
チェックボックスの返す値
-
INPUT TYPE
-
WEBページを強制的に横画面で見...
-
[HTML]プルダウンメニューの横...
-
VB.net データーグリッドビュー...
-
別formのhidden項目を自form値...
-
FORMのselectの選択肢を最初か...
おすすめ情報