人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

perlのcgiの質問です。
作成したソースがFirefox上でテキストとして表示されてしまいます。
Live HTTP headersで見るとContent-Type: text/plain; charset=EUC
となってしまうのです。
IEではきれいにhtmlとして表示されています。

とりあえず
1.print "Content-type: text/html\n\n";とソースの一番上に書いても、テキストとして表示されるだけ。IEでもContent-type: text/htmlと表示されてしまっている。
2.Apacheの設定が悪いのかと思ったが自分が作った以外の同じサーバの他のソースでは同じ拡張子、しかもContent-type: text/htmlなしですらFirefoxでtext/htmlとして表示されている。(Live HTTP headers上でも)

Webを検索してもprint "Content-type: text/html\n\n";を一番上に書きなさいとぐらいの情報しか探せず手づまりな状況です。
なにか思い当たることのある方何でも結構ですので教えてください。

●質問者: komamix
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Apache CGI EUC firefox HTML
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● 《み》
●30ポイント

1.ftpでアップロードしていると思いますが、asciiモードで転送してますでしょうか。改行コードがCR+LFだったりすると、そういう問題を起こすかもしれません。

2.(無料提供などでありがちな)広告自動挿入されるサービスだと、適切な対処はサーバ管理者側に聞かないといけないかもしれません。

3.cgiとして実行されないのだとすると、「.htaccess」への記述が足りないのかもしれません、CGI を有効にするにはをどうぞ。

◎質問者からの返答

1.確認しても駄目でした。viで開いて改行を入れて書き込みしてみたんですが。

2.自社内のLAN内のサイトです。

3.Apacheは他のソースが実行されてることで問題ないと思われます。


2 ● ele_dir
●30ポイント

print "Content-type: text/html\n\n";

の部分を、

print "Content-type: text/html; charset=EUC-JPS\n\n";

と書き換えてみてください。

いかがでしょうか?

◎質問者からの返答

やはり同じでした。EUC-JPSはEUC-JPでよいのですか?

あとIEでもContent-type: text/html; charset=EUC-JPSとそのまま表示されるのが解せないところです。


3 ● tezuboa
●30ポイント

決定打はないのですが、以下の4つくらいが考えられます。


1.CGIソースファイルを置いているディレクトリがCGIを実行できない場所である。


2.CGIソースファイルのパーミッションを755にしてみる。


3.print "Content-type: text/html\n\n";の行を下の4行にしてみる。(3行目は空行です)

print <<"END";

Content-Type: text/html


END


4.print "Content-type: text/html\n\n";を一回消して再度入力してみる。

この時コピペしてはいけません。どうみても動きそうなのに動かないときは見逃しがちな入力間違いをしてる場合があります。入力し直してみると以外と動いたりします。

◎質問者からの返答

すいません。今日は自宅なので試せませんが。

1.ディレクトリ自体は見てませんでした。プログラム自体の実行権限はなども確認したんですが。見てみます。IEで表示されるので微妙ですが。

2.設定済みです。

3.一応試してみたいと思います。

4.やはりその可能性も捨てきれませんね。試してます。

他にも何でもよいのであればご指摘ください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ