みよさん、
やはり、Pw32i316 で動いたのが不思議ですね。
その # を再度抜かして、ActivePerl でエラーが出て Pw32i316 ではエラーが出ないことを確認してから、その CGI のファイルをメールで送ってくれませんか(?)。
>中田様
早速のお返事ありがとうございました。
もう一度全角文字に気を付けてチェックしてみた所、
コメントに「#」が抜けているヶ所があり、修正すると
ちゃんと動くようになりました。
ご迷惑をお掛けしてすいません。
また、ありがとうございました。
でも、Pw32i316はなぜちゃんと動いていたのでしょう?
Jperlにはしてなかったのですが・・・
何にしてもありがとうございました。
みよさん、
\x81 というのは16進数で、\201 というのは8進数です。どちらも10進数では 129 で、文字コードとしては同じです。
よくある全角空白というのも漢字(2バイト文字)の一種ですが、全角空白はSJISコードの16進表記では1バイト目が \x81、2バイト目が \x40 です。
つまり、全角空白が " " の外にあると、\x81(=\201=129) という文字コードがあるので、Unrecognized character \x81 ... (「認識できない文字 \x81がある」)というエラーになります。
もちろん、このエラーは1バイト目が \x81 というだけですから、それが全角空白であるとは限りません。
同様に1バイト目が \x8E の漢字というのもたくさんあるので、そのような漢字が " " の外にあれば、Unrecognized character \x8E... というエラーになります。
Unrecognized character \x8E ... の後に line xxx という感じで行番号(xxx)が出ているでしょうから、その行を見れば、原因はわかると思います。
\x8E のところは漢字によっていろいろ変わるわけです。
もっとも Pw32i316 でエラーにならないことの方が不思議ですが、JPerl にしているのでしょうか?
いずれにしても Unrecognized character... line xxx の行 xxx をそのままここに出してもらえれば、どういうことかわかると思います。
行番号が表示できるエディタでないと正確に行数を数えないといけませんからちょっと大変かもしれませんが。。
はじめまして。
前から愛用させて頂いております。
過去ログ等参照したのですが、解決しないのでご教授ください。
今までPw32i316を使ってたんですが、今回ActivePerl-5.6.1.633に
変えてみました。
すると今まで正常に動いていたCGIが動かなくなってしまったのです。
Pw32i316に戻すと正常に動くのですが、この度プロバイダの方が
ver5.6に変更したのでこのままでは動かないままなんです・・・
エラーは「CGI エラー - Content-Type ヘッダが正しくありません。」と出て
CGI 出力メッセージは「Unrecognized character \x8E ・・・」と出ます。
過去ログで\x81と\201はあったのですが、\x8Eは見つかりませんでした。
使用環境は、
OS:Win98SE
AN HTTPD:1.40cです。
なにかヒントでもあれば教えて頂けないでしょうか?
お願い致します。