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

<head>で
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">

と指定していて、IEのキャッシュもクリアして、
文字コードはshift_jisで書いてあるファイルで

ソース上で
<!-- ステータスバー文字列表示 -->

と書いてあるコメントの文字列表示の「表示」の
部分がIEからソース表示すると文字化けしています。

これは何故なのでしょうか?
その一部分のみです。

CGIなのですが、
CGIのうちのHTMLソースを吐き出しているところです。

A 回答 (1件)

エスクケープ文字「\」を含んでいるためです。



「表」をシフトJISで表記した場合2バイト目に、エスクケープ文字を示す「\」と同じコードが入っています。
そのため、「示」の1バイト目が別の文字に変わってしまうために、文字化けを起こします。

HTMLやCGIを、EUCで書いた方が良い。と書かれている説明をご覧になったことがあると思います。EUCを利用する理由は、このエスクケープ文字による文字化けを防ぐためです。

UNIXの世界では、漢字コードはEUCですので、シフトJISで書かれたソースが文字化けするのは、自然な姿です。
ですので、ある意味「正常な動作」と言うことになります。

Googleなどで、文字コードについて調べて見ると面白いですよ。とても奥が深い世界です。
    • good
    • 0
この回答へのお礼

おおおおおぉ、そうなのですか。
とってもタメになりました。感動です。
ありがとうございました。

お礼日時:2004/03/31 13:18

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