• ベストアンサー

掲示板CGIでの半角カナ使用について

leaz024の回答

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.6

> もしかしたらこの部分は関係があるでしょうか。 まさにその部分です^^ コード変換を行っているのは   &jcode'convert(*value,'sjis'); なので、これを   # &jcode'convert(*value,'sjis'); とコメントアウトすれば実行されなくなります。 もし、どうしてもチェックをしたい場合、ダミー文字列を使うという手法があります。 ちょっと長めですが、以下にその方法を載せます。 まず投稿フォームの中に、以下のようなダミーの日本語文字列を埋め込んでおきます。   <INPUT type="hidden" name="jcode" value="日本語"> ※ダミー文字列は、あまり短いと効果がありません。 No.4 の補足にあるデコードルーチンから   &jcode'convert(*value,'sjis'); の行を削除、またはコメントアウトします。 デコードルーチンの最後、つまり   $FORM{$name} = $value;   } の下に、次のようなスクリプトを追加します。   # ダミー文字列の内容が変わっていたら・・・   if ($FORM{jcode} ne '日本語') {     # その文字コードを調べて     my $icode = jcode::getcode(\$FORM{jcode});     # 全パラメータに対し、$icode -> Shift_JIS の変換をする     foreach (keys %FORM) {       jcode::convert(\$FORM{$_}, 'sjis', $icode);     }   } ※全角空白を入れてるので、コピペの際は注意! ※掲示板CGIファイル自体も、Shift_JIS でないといけません。 もし、ブラウザが送信時に文字コードを変換するとしても、パラメータごとに別の方法で変換することはありえないので、確実に全角であるパラメータの文字コードを調べればよいわけです。

touyou
質問者

お礼

leaz024さん、丁寧に教えていただきありがとうございました!! 説明のとおりにしてみました。ダミーの日本語文字列も試してみました。 おかげさまでとうとう半角カナが使えるようになりました!全てきれいに表示されております!! 大変お世話になりました。 掲示板等CGIを使う際、使い勝手が100%のものがなかなか見つからないので(かなりワガママですが)色々トライしてみたいのですが、スクリプトを触るからにはもう少し勉強してみようと思います。 本当にありがとうございました。

関連するQ&A

  • 「x-sjis」「Shift_JIS」同じ意味?

    <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=x-sjis"> の「x-sjis」は「Shift_JIS」と同じ意味ですか? 「x-sjis」はIEのブラウザ右クリック→エンコードのどれに該当するのでしょうか?

    • ベストアンサー
    • HTML
  • タグの意味が分からなくって...

    <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=Shift_JIS"> って、どういう意味なんでしょう?

    • ベストアンサー
    • HTML
  • 半角カナを使用して公開しているサイト名

    作成したソフトの動作試験に使うために以下のHTMLファイルを探しています。 <meta http-equiv="Content-type" content="text/html:charset=EUC-JP"> のコードで半角カナ(&h8e &h??)も使って公開しているサイトをご存知のかたいらっしゃいませんか。

  • 文字コード

    HPを作る際は <meta http-equiv="content-type" content="text/html;charset=shift_jis"> と <meta http-equiv="content-type" content="text/html;charset=utf-8"> のどちらにすればいいのでしょうか?

    • ベストアンサー
    • HTML
  • CGIで画像更新??

    初めて投稿します。 短い間隔でサーバに送られてくるJPEG画像をcgiか何かを使って一定間隔で更新するホームページを作りたいのですが・・・ 数少ない知識を使っては見たのですが、 META content="text/html; charset=shift_jis" http-equiv=Content-Type META http-equiv="refresh" content="20" META HTTP-EQUIV="Pragma" CONTENT="no-cache" これだと、リロードの時に画像が上から表示されるので、シャッターを切っているみたいで使用できないと言われてしまいました。 特に言語は問いませんので宜しくお願いします。

    • 締切済み
    • CGI
  • ホームページビルダー

    ホームページビルダー こちらhttp://htmllint.itc.keio.ac.jp/htmllint/のサイトで HTMLの構文をビルダー上で直していたらおかしなことになりました たとえば、<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />を <META>http-equiv="Content-Type" content="text/html; charset=Shift_JIS" </META> とし、プレビューしたら、文字で出てきてしまったんです!! ビルダーは8です どうすればいいのでしょうか>

    • ベストアンサー
    • HTML
  • metaタグ終りの/(スラッシュ)の意味

    metaタグの最後に <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> 上記のように半角スペースとスラッシュがついたものをみたのですが、これはどういう意味なのでしょうか? また、metaタグ以外にも使うものなのでしょうか? 教えていただけると幸いです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • ▲▲METAタグについて▲▲

    HTMLとCSSでHPを作るとき。 METAタグはこれでよいでしょうか?? <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <meta http-equiv="content-style-type" content="text/css">

    • ベストアンサー
    • HTML
  • 文字化け

    HPを少しずつ作っているのですが、少しだけできたのでyahooのところにアップしてみました。しかし文字化けしてしまいました(涙) <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS"> このタグが関係あるのでしょうか? IE6

  • ホームページの文字コードが勝手にunicodeに

    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> 上記タグを入れて、METAでShift_JIS設定を行っているのですが、 FTPしたものをブラウザで見るとUnicodeになってます。 ためしにMETAタグを全部削除しても、同じでした。 METAよりすごい命令がでているか、METAを見ないような指令が どこかにあるとしか思えないんですが、さっぱり検討がつきません。 だれか心当たりのある方、教えてください。