• ベストアンサー

プログラムに手を加えると×

アクセス解析のCGIをダウンロードして、サーバーに設置しました。 このCGIのプログラムを一部でも変更すると「500 Internal Server Error」となります。 例えば、 &ErrorPrint('不正な値が送信されました。(ANA_DAY)'); の「送信」という部分を削除しただけで「500~」となってしまいます。 その後「送信」の文字を戻してアップロードしても「500~」となります。 更にその後、元々の原版のCGIをアップロードすると問題なく動作します。 どうも、少しでも手を加えると「500~」となってしまうみたいなのです。 他にも掲示板CGIは設置していますが、普通は変更してエラーが出ても、 元に戻すとちゃんと表示されますが、これだけどういうわけかできません。。 他のCGIとの違いをあえて言えば、このCGIプログラムは改行されずに書いてあります。 一部改造したいのですがどうすればよいのでしょうか?

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

  • ベストアンサー
  • suzukikun
  • ベストアンサー率28% (372/1325)
回答No.1

文字コードが違うんじゃないんでしょうか?UTF-8なのにSJISで送信しているとか。

syuricyan
質問者

お礼

CGIの説明にはUTF-8で保存するように書いてあり、そのようにしてもErrorになります。 ところがいろいろとやっていたところ、ANSIで保存したら表示されました。 ただ、表示内容の一部が文字化けになってしまいました。ありがとうございました。

その他の回答 (2)

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.3

CGI を変更するのに何を使っていますか。 notepad でしょうか。 > 他のCGIとの違いをあえて言えば、このCGIプログラムは改行され > ずに書いてあります。 とのことですが、意図的に改行しないで書いたとは考えにくいです。 Linux で作成したテキストを Windows の notepad で開くと、OS の 改行コードの違いから、複数行のテキストが 1行になります。 notepad ではなく、例えば 秀丸を使用して開くと改行コードの違いを 認識し、正しく表示してくれます。 秀丸のようなエディタで編集してみてはどうでしょうか。

syuricyan
質問者

お礼

ご教授いただいた「秀丸」ではなかったのですが、エディタ「TeraPad」をインストールして、 編集してアップロードしたところ、Error・文字化け等全て解決しました。ありがとうございました。

  • EFA15EL
  • ベストアンサー率37% (2657/7006)
回答No.2

確かに表示する文章の一部を改編しただけでエラーというのはおかしいですね。 あり得るとしたら「プログラムのファイル名を変えている」「アップ時のパーミッション設定を間違っている」「実は他の重要なコードも変えてしまっている」あたりでしょうか。

syuricyan
質問者

お礼

どうも保存時の文字コードが影響しているようです。 もうちょっといろいろと試してみたいと思います。ありがとうございました。

関連するQ&A