• ベストアンサー

apacheの動作について

こんばんは。 変数の計算結果をブラウザに出力するというcgiを書きました。しかし、ダブルクォーテーションでくくった変数($number1,$number2,$answerという変数です)は、表示されるのですが日本語の部分が文字化けします。 しかし、日本語だけを表示するcgiプログラムを書いてみると、こちらはきちんと表示できました。 その後、最初の計算プログラムを表示してみたら、すべて上手く表示できました。 これは、どういうことなのでしょうか?Apacheがおかしいのですか? だれか、原因の分かる方は教えてください。よろしくお願いします。

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

  • ベストアンサー
回答No.1

記述ソースの文字コード絡み 例えば「表示」という文字がShiftJISでは化ける等 ブラウザとの兼ね合い HTMLとブラウザの文字コード設定が違う時 Apache2のデフォルト文字コード デフォルトでヨーロッパ系の文字コードが出力されるため 等が、よくあるパターンだと思いますが、 具体的なソースコードを見ないことには原因の特定は難しいと思います。 もう少し情報を提示されると回答がつくのではないでしょうか。

kamkamkam3
質問者

お礼

どうも、ありがとうございます。 本のとおりに忠実にやったので、natsuki_tkさんのおっしゃるようにブラウザの文字コードが原因かな?と思います。恥ずかしながら、指摘されて気づきました。。。 ちなみに、ソースコードは以下のとおりです。 #!D:\Applications\Perl\bin\perl print "Content-type: text/html\n\n"; $number1 = 10; $number2 = 5; $answer = $number1 + $number2; #計算の結果を書き出します print "$number1 + $number2 の答えは $answerです。"; #ここで終わり、のしるし _END_ ブラウザのせいだと思いますが。。。2度目からはしっかり表示されています。 どうも、ありがとうございました。すっきりしました。またよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Apache 文字化け

    以下の環境で、WebブラウザをJSPで作成し、入力した日本語をServletから出力させるプログラムを作成しています。 【環境】 OS:Windows XP Webサーバ:Apache 2.2.4 サーブレット、JSPコンテナ:Tomcat 5.5.23 コネクタ:mod_proxy_ajp 【事象】 Webブラウザより、日本語を入力⇒クエリ送信⇒結果画面をした結果、Webブラウザから入力した値のみが文字化けします。 JSP側でもharset=Shift_JISを指定していますし、Apacheのhttpd.confでもAddDefaultCharset offを設定しています。なんでしょうか。。。わかりません。アドバイス宜しくお願い致します。

  • Perlのモジュールをインストール後、Apacheの再起動は必要かどうか

    ブラウザに出力させるPerlのプログラム(cgi)を書いています。 Perlのモジュールが足りないため、 cpanでインストールをしました。 特に、Apacheを再起動させないで、 ブラウザにメッセージが出力されました。 通常、ApacheでPerlを使う場合、足りないモジュールを インストールした後はApacheの再起動をするべきなのでしょうか? 再起動する・しないの理由が知りたいです。

    • ベストアンサー
    • Perl
  • RedHat9/Apache1.3でCGIが文字化け

    サーバマシンにウェブサイトで公開されているCGIプログラムをDLし、cgi-binディレクトリに置いて動かそうとしたのですが、文字化けします。 ネットワーク環境は、1台のルーターの下にサーバマシン1台(OS:RedHat9,Webサーバ:Apache1.3.33, IP:192.168.1.10)、クライアントマシン数台(OS:Windows 2000, IP:192.168.1.*)となっています。 まず、Kent Webさんのサイトhttp://www.kent-web.com/から掲示板「プチ☆ボード」をサーバマシンにDLし、httpd.confのScriptAliasで設定したcgi-binディレクトリに設置したところ、動作はするものの文字化けしてしまいます。 サーバマシンのMozillaから書き込んでみると、サーバマシンからでもクライアントマシンのIEからでも日本語は文字化けします。クライアントマシンから書き込んでみると、サーバマシンでもクライアントマシンでもその書き込みだけは文字化けしません。 同じくKent WebさんにあるDiary Note(気まぐれ日記)というCGIをDLし設置してみると、文字化けでタグが壊れているのか、トップページは表示されるもののリンク先へ飛びません。別ファイルから読み込むメッセージの部分だけは日本語で正しく表示されますが、他の部分はすべて日本語は文字化けしています。 テキストエディタでdiary.cgiファイルを開いてみると、日本語部分は文字化けしています。 そこで、一度クライアントマシンにプログラムをウェブサイトからDLし、FFFTPでASCIIモード、EUCコードに設定してdiary.cgiファイルをサーバマシンへアップロードしてみました。すると、テキストエディタで開くと日本語部分が正しく表示されるものの、cgi-binディレクトリにそのファイルを置いてブラウザからアクセスしてみると、やはり文字化けして動作しません。 どうすれば表示・動作が正しくなるのでしょうか?

  • 文字化け

    perl初心者です。 テキストボックスに入力した数値を計算して表示するCGIを作っています、(cgi-lib.plを使ってます。) 計算ボタンをクリックして表示される文字全てが文字化けしてしまうのですがブラウザソフトの表示→エンコード→日本語にするとキチンと表示されます、 これはブラウザソフトの設定がいけないのか、プログラムに何か手を加えると解決するのでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • Apache(アパッチ)が、急に動かなくなりました・・・

    自作のCGI動作確認で、さっきまで動作確認できていました。 PCの電源を切り、一休みしてから、再度PCを起動させました。 で…、いつものようにアパッチスタートを選び、アパッチモニターがいつものように表示されました。 そして、先程まで動いていたCGIを確認しようとしたら、いつまでたってもブラウザに変化が出ないのです。 ブラウザの右下にある、読み込み状況の緑のメーターぽい表示が、真ん中までは進むのですが…。 何も設定変更はしていないのに、これは一体どうしたことでしょう? もちろん、アパッチ起動や終了の作業は、きちんとアイコンから行っています。

  • Perlが動作しない?

    色んな所でお世話になってます。 皆様にはいつも親切にお答え下さって、本当に感謝しています。 今回、CGIを使ってやりたいことがあり、翔泳社から出版されている 『10日でおぼえるPERL/CGI 第2版』 という本を買ってきました。 が、インストール場所、apacheの設定、入力など、何も間違っていないのに、動作してくれません。 状況として、WEBページで開くと、txt(もちろん拡張子はcgiに変更してあります)の内容がそのまま出力されます。 本来ならばprintのダブルコーテーション内だけが出力されなければいけない筈(本の写真にはそう写ってる)なんですが、WEBページ(127.0.0.1)を開いても #! c:/perl/bin/perl print "Content-type: text/plain\n\n"; print "Hello Perl !"; と表示されるだけなんです。 apacheにはうまく接続できているので、問題はPERL.EXEの方だと思うのですが… 再インストールしてもムダな努力でした。 本の支持通りやってるつもりなので原因が思いつきません。 どこに原因があるのでしょうか? 可能性はたくさんあるんだと思いますが、可能な限り全て試してみますので、よろしくお願いします。

    • 締切済み
    • CGI
  • Apache2でSetEnvが動作しない。

    お世話になります。 Aapche2でCGIの環境変数をセットしたく、 SetEnvを設定したのですが、$ENV{''}で確認しても表示されません。 httpd.conf内の場所を変えて記述してみたり、 .htaccessに記述してみたりしても、いっこうに反映されません。 これは、なにか原因となりうるものはありますでしょうか。 よろしくお願いいたします。 ・記述行 SetEnv PERL5LIB "/usr/local/lib/perl" Apache 2.0.58 FedoraCore 4 perl 5.8.6

    • ベストアンサー
    • CGI
  • ApacheでCGIが正常に動作しません。

    httpd.confの設定でPerl.exeの場所の指定は必要なのでしょうか? 以下の場所に設定を行うのかと思ったのですが、設定するとApache起動時にprogram filesがエラーになってしまいます。 ServerSignature On !g:/program files/apache group/apache/perl/bin/" 設定が必要であれば設定方法をお願いします。 httpd.confの設定に <Directory "G:/Program Files/Apache Group/Apache/cgi-bin"> AllowOverride None # Options None Options ExecCGI Order allow,deny Allow from all </Directory> は追加してあります。 現在、CGIの結果として #!/perl/bin/Perl.exe print "Content-type: text/html\n\n"; print "\n"; print " Hello! WORLD \n"; print "\n"; exit; のように表示されない命令も全て表示されます。 本当はHello!WORLDだけを表示したいのですが。

  • WINDOWSでApacheを使いCGIテストについて

    WINDOWSでApacheを使いCGIテストを行なっています。 ブラウザからCGIを立ち上げると、ファイルのダウロードの表示がでて、うまく起動しません。 対処方法を教えてください。

  • ApacheをGETする方法(Windows)

    趣味で作ってるCGI(って言ってもたいした事ないんですが;;)をテストするのに、 今までFTPでサーバーに送って、ブラウザからチェックしたりしてたんですが、 ローカルサーバーを作ったほうがいいと聞いて、いろいろ調べてみて、 Apache+ActivePerlのセットでローカルサーバーを作ろうと思ったのですが、 いざ、入手しようにも、Apacheはどうやって入手できるのかわかりません。 Apacheの英語、日本語のサイトにも見たのですが、apacheのインストーラみたいなものが見当たりません。 ActivePerlは無事にセットアップできました。 Apacheは無料のと有料のがあると聞いたのですが、無料のものでいいです。 OSはWindows98SEです。 よろしくお願いします。

    • ベストアンサー
    • CGI