ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

超初心者向けCGI講座コミュのメールフォームから送られてきたメールの内容のみが文字化け

  • mixiチェック
  • このエントリーをはてなブックマークに追加
メールフォームについて質問させてください。

現在、サイト内にお問い合わせフォームを設置する為dreamWeaverでサイトを作成して、CGIの変更はメモ帳で行っています。

CGIやDATファイル、JCODEファイル等、必要なデータはメールフォームのHTMLと同じ階層にアップロードしています。(使用サーバーはロリポップ)
パーミッションはアップロード後にロリポップが指定する値に変更しています。

文字化けなので、文字コードが原因かと思いHTML・CSSともutf-8からshift_JISに変更したのですが、shift_JISだとページの文字が複雑な漢字の羅列で文字化けしてしまいます。
その状態でメールフォームの欄に必須事項を入力してテスト送信を行ったのですが、送られてきたメールは件名は日本語で、項目やフォームに入力した内容が複雑な漢字に文字化けしてしまいます。

HTML・CSSの文字コードをshift_JISからutf-8に変更したら、サイトの文字は日本語になりますが、メールの内容は相変わらず複雑な漢字に文字化けしてしまいます。
これを解決するにはどうファイルを書き換えればよいのでしょうかexclamation & question

私自身、CGIはかなりの初心者なので分からない事ばかりです。
できれば手順を追って解説していただけると助かります。
宜しくお願いします。

コメント(7)

 具体的な情報が少ないので言えるのは一般論ですが、以下の全てが一致していないと文字化けする可能性が増します。 全部が統一されていない場合、明示的に文字コードを取り扱わないといけないので、かなり面倒臭いです。

1:CGIスクリプトを記述しているファイル自体の「保存されている文字コード」

2:CGIスクリプトが吐き出すHTML内の「文字コード宣言」

3:フォームから取得したテキストを「どの文字コードで取り扱っているか」及び「これの一貫性」

4:送信フォームのHTMLが独立したHTMLファイルになっている場合、これの1および2
白い月の鏡さんの書かれている事への補足となると思いますが。
CGIからのメール送信をどのようようにしているのか(どのモジュールを使用)わかりませんがメールの文字コードはJISコードです

CGIで良く見かける記述です
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";

ですので、フォームから受けた文字コードをメール送信前に「XXX→JIS」への変換をしているはずですのでここをチェックしてください。

また、MSのメーラーを使っているとS−JISが来ると勝手に解釈して表示したりしたと思いますのでこの辺が間違えていても一部表示されたりしたと思いますのでご注意ください。
トピ主のmisato*です。
CGIの中身をお見せした方が分かりやすいかと思いましたので、内容をサーバーにUPしました。
以下のものがCGIの中身です。

http://mst.chips.jp/

宜しくお願いします。
そう言えばもう一点盲点がありました
HTMLの中で

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">

Content-type を指定していないとCGIで受け取るコードが保障されない事がありました。
メールフォームから送られてきたメールの内容の文字化けは、文字コードとパーティションの変更で解決することが出来ました。

アドバイスをしていただいた皆様のおかげです。
ありがとうございます。

ですが、あと一箇所だけ「送信ボタン」を押した際に表示されるメッセージ(送信しますか的な文言のメッセージ)が「???M???Å???r????H」こんな風に表示されてしまいます。
また必須事項が未記入の場合のメッセージが「TYPE1ERROR姓??????B名??????B」という風に表示されます。

これはなぜでしょうか?
教えてください。
ソースの文字コードとブラウザーの文字コードが違っているからだと思います。
ブラウザーのエンコードの文字コードを確認してみてください。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

超初心者向けCGI講座 更新情報

超初心者向けCGI講座のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング