• ベストアンサー

シフトJISの文字列「表示」が次のように

print "<INPUT TYPE='submit' VALUE='表\示'/>\n"; しないと化けるのですが 「表」の2バイト目が「\」と同じだからと言うことですが 最初のバイトを見れば文字を正確に認識できるはずなのになぜ化けるのでしょうか?

  • keyguy
  • お礼率68% (895/1314)
  • CGI
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • mcq
  • ベストアンサー率48% (45/93)
回答No.1

>最初のバイトを見れば文字を正確に認識できるはずなのになぜ化けるのでしょうか? その「認識」をしているのは文字を表示しているクライアント側のブラウザ等ですが、 "\"を特殊文字とみなしてしまうのはサーバー側のperlだからです。

keyguy
質問者

お礼

ありがとうございます

関連するQ&A

  • 文字の表示色を変えたい

    いつも、ありがとうございます。 下の記述で、<他社より安い場合は・・・>の文字を 青くしたいのですが、いろいろとやっても、 青文字になってくれません。 500 Internal Server Error になってしまいます。 どうやれば、青文字になりますか? **********記述文************************ print "<table>\n"; print "<tr>\n"; print "<td>\n"; print "<form action=\"$script\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=note>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value=ご 利 用 方 法></form>\n"; print "</td><td>\n"; print "<form action=\"$home\" method=\"POST\" target=\"_self\">\n"; print "<input type=hidden name=mode value=_top>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value='ト ッ プ へ 戻 る'>\n"; print "</form></td></tr></table> <他社より安い場合は、ご相談ください。>

    • ベストアンサー
    • CGI
  • CGIプログラムでのボタン表示のさせかた

    print "<form action=\"$script\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=note>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value="説明表'>"</form>\n"; print "<form action=\"$home\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=_top>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value='トップ'></form>\n"; というCGIプログラムの文章があるのですが、 上記の記述で実行すると、 「説明表」ボタンと、「トップ」ボタンが縦に並んで表示されてしまいます。 これを、横に表示させるようにするには、 どのように変更すばいいのでしょうか? 参考になるかわかりませんが、「説明表」をクリックして表示される文章は、 他のCGIプログラムの中に記述されています。

    • ベストアンサー
    • CGI
  • FORM ACTION~POST使用時について

    こんにちは。お世話になります。 cgiファイルから、FORM ACTION~POST⇒submitで自分自身を呼び出す時に、INPUT TYPE=\"text\"を11個間に入れると呼び出せません。 (10個の場合はうまくいきます) FORM ACTION~POSTは文字数制限がないと、本を見てもかいてあるのですが、なにか理由があるのでしょうか。 ご存知の方、ご教授願えたら幸いです。 よろしくお願いいたします。 抜粋したソースを下記に記します。 ------------------------------------------------------------- #障害対応情報項目テキストボックス print "<H5>【障害対応情報項目】</H5>\n"; print "<FORM ACTION=\"../cgi-bin/serch_e-001.cgi\" METHOD=\"POST\">\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-2\" VALUE=\"$$selectdata[0][7]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-3\" VALUE=\"$$selectdata[0][8]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-4\" VALUE=\"$$selectdata[0][9]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-5\" VALUE=\"$$selectdata[0][10]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-6\" VALUE=\"$$selectdata[0][11]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-7\" VALUE=\"$$selectdata[0][12]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-8\" VALUE=\"$$selectdata[0][13]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-9\" VALUE=\"$$selectdata[0][13]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-13\" VALUE=\"$$selectdata[0][18]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-14\" VALUE=\"$$selectdata[0][19]\" SIZE=30>\n"; print "<INPUT TYPE=\"text\" NAME=\"S1-15\" VALUE=\"$$selectdata[0][19]\" SIZE=30>\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"新規検索\">\n"; print "<INPUT TYPE=\"submit\" NAME=\"button\" VALUE=\"更新\">\n"; print "<INPUT TYPE=\"hidden\" NAME=\"no\" VALUE=\"$$selectdata[0][0]\">\n"; print "</FORM>\n"; ------------------------------------------------------------

    • ベストアンサー
    • Perl
  • 掲示板のコメント欄にあらかじめ文字を入れたい

    掲示板の設置をしています。 掲示板のコメント欄の中に、あらかじめこちらが伺いたいことを表示しておきたいのですが、どのようにしたらできるのでしょうか? sub in_form { print "<table cellspacing=1 cellpadding=0>\n"; print "<form action=\"$script\" method=POST enctype=\"multipart/form-data\">\n"; print "<input type=hidden name=mode value=\"newwrt\">\n"; &getcook; if (!$mode) { $submit = '投稿する'; } else { print "<input type=hidden name=rno value=\"$in{'no'}\">\n"; $submit = '返信する'; } print "<tr><td>名前</td><td><input type=text size=30 name=name value=\"$name\" style=\"ime-mode:active;\"></td></tr>\n"; print "<tr><td>HP</td><td><input type=text size=50 name=hp value=\"http://$hp\"></td></tr>\n"; print "<tr><td>題名</td><td><input type=text size=50 name=sub style=\"ime-mode:active;\"></td></tr>\n"; print "<tr><td valign=top><br>内容</td><td><textarea cols=65 rows=8 name=com style=\"ime-mode:active;\"></textarea></td></tr>\n"; print "<tr><td>画像</td><td><input type=file size=60 name=img></td></tr>\n"; print "<tr><td>削除キー</td><td><input type=password size=10 maxlength=8 name=pwd value=\"$pwd\"> (英数8文字以内)</td></tr>\n"; print "<tr><td></td><td><input type=submit value=\"$submit\"></td></tr></table></form>\n"; } おそらくこの部分を変えるのかなぁと思うのですが・・・どうすればいいのかわかりません。どなたかアドバイスいただけるとうれしいです。 よろしくお願い申し上げます。

    • ベストアンサー
    • CGI
  • クリップボードに記憶した文字を貼り付けしたい・・・

    クリップボードに記憶した文字を貼り付けしたい・・・ CGIでフォームを組んでいるのですが、文章をコピーする事は出来たのですが それを貼り付ける為のCGIを教えていただけませんか? 「貼り付ける」ボタンをクリックで貼り付けのようなもので結構です。 print " <input class=\"add_save\" value=\"保存\" type=\"submit\">\n"; print " <input class=\"add_cancel\" value=\"キャンセル\" type=\"button\" onmouseup=\"toggle_row_b('news_add0'); toggle_row_b('news0');\">\n"; この中に入れたいと思っています。 宜しくお願いいたします。

    • 締切済み
    • CGI
  • ボタンの判定が出来ません?

    print "<P><INPUT TYPE=submit NAME=\"送信\" VALUE=\"送信\"> <INPUT TYPE=submit NAME=\"削除\" VALUE=\"削除\"> <INPUT TYPE=reset NAME=\"クリア\" VALUE=\"クリア\">\n"; 上記のようなコーディングで、ボタンを表示させてますが、 どちらのボタンを押しても、送信しか受け取れません。 どこで、何をどのようにコーディングすれば読みとれるのでしょうか?

    • ベストアンサー
    • Perl
  • クオートの多重入れ子をするには?

    print文でhtmlを出力するCGIをperlでプログラムしているのですが、 クオートの入れ子がうまくいきません。(3重入れ子) print "<td><input type=button value='ログイン' onclick='action="./test.cgi";submit();'></td>\n"; ヒア文字列を使って print <<"A"; <td><input type=button value='ログイン' onclick="action='./test.cgi';submit();"></td>\n A とすればうまくいくのですが、ヒア文字列を使わずに簡素に書く方法は無いでしょうか? よろしくお願いします。m(__)m

    • ベストアンサー
    • CGI
  • cgiのショッピングカートで画像を表示させたい

    買い物かごの中身のページに画像を使いたいのですが、 どのようにしたらいいのでしょうか? print "<input type=submit value=\"order\"> <input type=reset value=\"reset\"></form><p><br>\n"; となっているところを print "<input type=image src=\"http://www.yahoo.co.jp/image/order.jpg\"> <input type=reset value=\"reset\"></form><p><br>\n"; のような感じで変更してみたのですが、 画像はちゃんと表示されるものの、Orderボタンを押して次の確認ページに移ると x 12 y 32 みたいな余計なデータが勝手にテーブル内に表示されてしまって困っています。 上記の変更をするぐらいで、なんでこんなことがおこるのかよく分かりません。 どなたか知っている方がいらっしゃたら、教えてください。 お願いします。

    • ベストアンサー
    • CGI
  • フォームから送った半角カナの文字化け回避

    こんにちは。 フォームのテキストボックスで半角カナを入力して送信すると、文字が化けることがあります。 どうにか回避できないでしょうか、、、^^; 「半角カナを入力するな!」という常識的な回答(笑)はナシでお願いします。^^; ちなみに、ソースは以下です。 最初submitのところのname属性を書いていなかった時はすべて文字化けを起こしていたのですが、name属性を追加したら最初の入力だけ化けることがある、という現象が置きました。 ちょっとはまってます、、、>< <? header( 'Content-Type: text/html;charset=Shift_JIS' ); echo( "<html>\n" ); echo( "<head>\n" ); echo( "<title>文字送信テスト</title>\n" ); echo( "</head>\n") ; echo( "<body>\n" ); if(isset($mode) == FALSE || $mode == ""){ echo( "<form action=\"test.php\" method=\"post\">\n" ); echo( "<input type=\"hidden\" name=\"mode\" value=\"1\">\n"); echo( "<input type=\"text\" name=\"KANA\" istyle=\"1\"><br>\n" ); echo( "<input type=\"submit\" name=\"\" value=\"送信\">\n" ); echo( "<input type=\"reset\" value=\"クリア\">\n" ); echo( "</form>\n" ); }else{ echo("KANA=$KANA<br>\n"); } echo("</body>\n"); echo("</html>\n"); ?>

    • ベストアンサー
    • PHP
  • FORMメソッドでvalueがうまく渡されない

    Perlで下記のようにFORMメソッドを 色々なところで使っているのですが ↓のFORMメソッドだけVALUEが渡らないのです。 print "<FORM ACTION=\"$homeurl\" METHOD=$method>\n"; print "<TABLE BORDER=1>\n"; print "<TR>\n"; print "<TD>会員番号</TD>\n"; print "<TD><TT>会員番号-</TT><INPUT type=text name=mytonum value=\"$mynum\"></TD>\n"; print "</TR>\n"; print "<TR>\n"; print "<TD COLSPAN=2>\n"; print "<INPUT TYPE=SUBMIT VALUE=\" 基本情報 \">\n"; print "<INPUT TYPE=hidden NAME=mynum VALUE=\"$c_mynum\">\n"; #非表示。クッキー用 print "<INPUT TYPE=HIDDEN NAME=mycmd VALUE=write2>\n"; print "</TD>\n"; print "</TR>\n"; print "</TABLE>\n"; print "</FORM>\n"; それで改変したのが↓です。 こちらはボタンを押したらちゃんと値が渡りました。 ただ、予定した位置にテキストボックスが表示されず別の位置に表示されそれも困っています。 上の表記はどこが間違っているのでしょうか? print "<FORM ACTION=\"$homeurl\" METHOD=$method>\n"; print "<TABLE BORDER=1>\n"; print "<TR>\n"; print "<TD>編集先の会員番号</TD>\n"; # print "<TD><TT>会員番号-</TT><INPUT type=text name=mytonum value=\"$mynum\"></TD>\n"; #コメントにして・・・ print "</TR>\n"; print "<TR>\n"; print "<TD COLSPAN=2>\n"; print "<INPUT TYPE=SUBMIT VALUE=\" 基本情報 \">\n"; print "<INPUT TYPE=text NAME=mynum VALUE=\"$mynum\">\n"; #こちらtypeを変更→OK ~~以下上記同じ~~

専門家に質問してみよう