アプリ版:「スタンプのみでお礼する」機能のリリースについて

CGIのヘッダを
"Content-type: text/html\n\n"
として、HTMLをブラウザに出力するcgiを作っているのですが、
「表示」という文字が「侮ヲ」と文字化けしてしまいます。
HTMLの<head></head>内には
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=shift-jis\">";
と記述して日本語を指定しています。
文字化けの原因がまったくわかりません。
心当たりありませんでしょうか?

A 回答 (3件)

シフトJISの場合、「表\示」としないと文字化けしますね。


EUCで書くと化けないので楽かと思います。

http://www.kent-web.com/pubc/jcode/
が、参考になると思います。

参考URL:http://www.kent-web.com/pubc/jcode/
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

指定されたURL拝見しました。
参考になりました。
「表\示」という記述で問題は解決しました。
的確な回答ありがとうございました。

お礼日時:2004/05/05 02:51

あまりくわしく調べてませんので,


間違ってたらご容赦を.

文字コードというのは,大きくは
 シフトJIS
EUC
を見分けるためのものです.

「表示」が化ける場合というのは,ほかにもあります.
エスケープシーケンスといいまして,
「\」コードの問題かもしれません.
「表」という感じには,半角の「\」のコードが含まれているのです.Cのコンパイラでは,「\」のコードは特別の意味があり,文字列として「表」を与えたつもりでも,エスケープシーケンスとして処理されている可能性もあります.



つまりですね,まずは,CGIの出力しているというHTMLソースコード
を普通にテキストエディタで見ることが出来ますか?
というを一度確認されてはいかがでしょうか.

HTMLの問題なのか,「エスケープシーケンス」の問題なのかを切り分けてみては.

例えば秀丸エディタでは,EUCコードとS-JISコードを
自動判別して,ただしく表示してくれます.
また,S-JISコードなら,たいていのwindows付属のエディタでただしく表示されるはずです.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

エスケープシーケンスが含まれていると上手く表示されないんですね。
まず問題を振り分けてみなければいけないのですね。

お礼日時:2004/05/05 02:48

charset=shift_jis と、アンダースコア(アンダーバー)を使う必要があるという事かな? 外してたらご容赦下さい。

    • good
    • 0
この回答へのお礼

回答ありがとうございます

ほんとだ・・
アンダーバーにするべきですね
気づきませんでした

お礼日時:2004/05/05 02:46

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