激凹みから立ち直る方法

どなたかご教授ください。

perlのcgiからsystem関数でphp(コマンドで実行可能なコード)を実行して返値を得たいのですが

perlのcgiの実行結果では画面に文字化けを起こしたような結果が帰ってきます。

cgi(perl)からphpを実行するにはどのように
すればいいのでしょうか?
ご教授ください。

A 回答 (3件)

>コマンドラインでの実行結果は「1」ないし「0」を出力するといったもので、実行結果は正常でした。



ん?たったそれだけですか?だとしたら文字コードは関係ないですねぇ。半角数字だけでしたらどの文字コードでも同じですもの。

もしかしたら文字化けに見えるものは「エラーメッセージ」じゃないですか?コマンドラインから実行してOKで、cgiからだとダメだとしたらパス、パーミッション、カレントディレクトリあたりの問題があるかも知れません。ちょっと確認してみて下さい。
    • good
    • 0

「mailmail」です。

(パスワード情報紛失のためこのユーザを使用いたします)

ご回答ありがとうございました。

「phpの出力の文字コードは何を使ってますか?そしてcgiの出力の文字コードは?もし違うとしたらコード変換は行ってますか?」のご質問に関してですが

phpからの出力はEUC-JPですので
cgiの出力にあわせて変換を行いましたが
だめでした。

「あとphpをコマンドラインから実行させた時の出力は期待通りのものであるか確認して下さい。」
に関してですが、

コマンドラインでの実行結果は「1」ないし「0」を出力するといったもので、実行結果は正常でした。

もう一度文字コードまわりで試行錯誤してみます。
ありがとうございました。

その他ご意見ございましたら
ご返答いただきたく存じます。

以上よろしくお願いいたします。
    • good
    • 0

これだけの情報では何とも言いようが無いのですが、cgiの内部処理とphpの出力の文字コードが合ってないのでは、と思います。



phpの出力の文字コードは何を使ってますか?そしてcgiの出力の文字コードは?もし違うとしたらコード変換は行ってますか?

あとphpをコマンドラインから実行させた時の出力は期待通りのものであるか確認して下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報