プロが教える店舗&オフィスのセキュリティ対策術

niftyをつかっていまして、かんたんなCGIで、知識がなくともメール送信フォームが作成できるというものを作りました。

ところが、その送信フォーム。メールアドレスを入力しないまま送信するとエラーページが表示されるのですが、このエラーページがときどき文字化けします。

FireFoxでは文字化けはしません。文字化けするのはIE7を使っていて、そのIE7でエンコーディングを自動選択にしていないときだけのようです。(safariでもデフォルト設定で文字化けしました)

ちなみに、送信フォームは自分でhtmlを用意しますけれども、
エラーページはニフティ側が用意するもので、エンコードの指定等はありません。ユーザーがhtmlを変更することができません。

そのメールデコードのくわしい設定はこれ
http://www.nifty.com/biz/support/manual/web/08/0 …
表示されるエラーページはこれです
http://mdec.nifty.com/mdec-error7.htm
ねんのため、エラーページのソースはこんなのです。文字コードがないのが悪いのですが、サーバが用意しているものなのでこちらでは変更できません。
<HTML>
<HEAD>
<TITLE>エラーメッセージ</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff" LINK="#ff6600" ALINK="#ff0000" VLINK="#330066"
TEXT="#000033">
<CENTER>
<BR><BR><hr size="3" width="500">
<CENTER>
<BR><b>エラーメッセージ</b><br><br><FONT SIZE="4"><B>メールアドレスが記入されていないか形式が不正です。</B></font>
<BR><BR><b><FONT SIZE=2>ブラウザの戻るボタンで戻ってください。</FONT></b>
</CENTER>
<BR><BR><BR><hr size="3" width="500">
</BODY>
</HTML>

このページの文字化け、shift-JISにすると解決します。だから自分が用意する送信フォームのHTMLをshift-JISにしましたが、shift-JISの送信フォームからエラーページに移動しても、IE7でやはり文字化けします。
(エンコーディングは、その前に表示したページの影響をうけるらしいです。理論の上では、送信フォームがshift-JISなら、エラーページに文字コー度がなくても自動的にshift-JISで表示されて文字化けが発生しないだろう、と思ったのですが、ダメでした)

IE7で、エンコードの指定のないページを表示するときに文字化けしない方法を教えてください。
ただし、IE7の設定やエンコーディングを変更しないでできる方法がいいです。(webサイトをみてくれる他人のPCの設定は、わたしが指示や変更するべきものではないという考え方です)
そのうえ、表示させるhtml(エラーページ)にも変更を加えないで出来る方法を探しています。
知恵をおかしください。

A 回答 (1件)

>IE7の設定やエンコーディングを変更しないで


>表示させるhtml(エラーページ)にも変更を加えないで

両方の条件下での実現は無理でしょ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!