• ベストアンサー

CGIで記述した文字が 化けてしまいます

簡単な掲示板を作成していますが、 CGIで記述した文字が画面に表示されると文字化けしてしまいます。 作成した掲示板の入力文字は、文字化けせずにファイルに書き出され 表示できます。 CGI内で記述した文字だけ出来ません? OSはWIN/ME, 編集は ワードパッドで行っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.2

「表示」が「侮ヲ」になること (最初の文字の2バイト目が5Cのとき)と同じならば、 「表\示」というようにやれば、うまくいきます。

参考URL:
http://tohoho.wakusei.ne.jp/wwwkanji.htm
KIMV
質問者

補足

ありがとうございます。 早速やってみまして、文字化けはなくなりましたが、 コンボボックス風に作ってましたが、次の設定してる人 が消えてる現象も起こってまして・・・ とりあえず、何かやってみます。

その他の回答 (5)

  • burn
  • ベストアンサー率65% (25/38)
回答No.6

例えば「表示」と記述したら文字化けしてしまうという事ですね。 それの対処法は文字化けしている文字の前に「\」をつけると解決します。 やってみてください。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.5

いろいろアドバイスがついてますが、まずは CGI の出力できちんと META タグを かいて、このページのコードはどれだ、というのを明記しましょう。 ワードパッドで CGI の編集を行っているということは Shift-JIS のはずですね。 であれば、 <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> を <HEAD> にきちんと記述しましょう。 後は No.3 の回答に有るようにメッセージをシングルクォートで括って、 エスケープを無効にしておくことです。

  • taba
  • ベストアンサー率61% (349/567)
回答No.4

文字化けする文字一覧は、こちらを見ていただくといいと思います。 個人的にはEUCで書くことをお勧めします。Windowsでは、EUCであっても読み書きできるEditorも結構あると思いますので、そういうのを使えば不便さはほとんどありません。 ぜひ試してください。

参考URL:
http://www.psl.ne.jp/perl/skillup.html
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.3

 inoue64さんのおっしゃる通り、2バイトコードの2バイト目のコードが5Cの場合に、これが\と認識されて文字化けがおきます。(5Cは「\」の文字コードです。)  文字化けの可能性がある(2バイト目が5Cの)漢字一覧を載せたHPなども検索すれば見つかるので、それら全てを「表\示」のように書いてもいいのですが、シングルクオートで囲んで\の働きを無効化すれば化けることはないので、こっちの方がラクではあります。  変数などを表示する際は、    print '変数の内容は' . $val . 'です。<BR>' . "\n"; のようにすればOKです。 多少面倒ですが。

  • crimson
  • ベストアンサー率40% (900/2202)
回答No.1

Shift-JISで記述されたCGIの場合、ある特定の文字で 文字化けが生じることがあります。 EUC-JPで書き直せば一番いいのですが、化ける文字を エスケープコード "\" で挟むことでも解決可能ですの で、処理後に再度アップロードして下さい。

関連するQ&A