とほほカウンターのつまずき

[上に] [前に] [次に]
あらい [E-Mail] [HomePage] 1999/12/23(木) 23:05:02
 とほほカウンターがどうやっても実行エラーになってしまって、
ずいぶん悩んでいたのですが、ようやく動作するようになりまし
た。このラウンジの検索では出なかったような気がするので、い
ちおう体験として紹介しておきます。

 問題だったのは、漢字コードでした。僕はずっとJISコードに
変換してアップしていたのですが、これをシフトJISのままアッ
プしたら、すんなりと動くようになりました。
 ただ、testモードでブラウザに表示される日本語は文字化け
します。ついでですが、スクリプトのテスト(書式1)は?test
が抜けているようでした。
 とほほさんの注意点を何度も確認してもダメな人は、漢字コ
ードをチェックしてみてください。

 それから、ここから質問なんですが、カウンターの表示でゼ
ロがほかの数字に挟まれると(例:1001)、一瞬表示されたあ
とで白くつぶれてしまいます。これはどこがいけないのでしょ
うか?

1999/12/23(木) 23:26:35
画像の大きさが、統一されて無いのでは無いでしょうか?

あらい 1999/12/23(木) 23:33:03
いちおう、再度確認しましたが、画像サイズは同じでした。
もう一度作り直してみます。

B-Cus 1999/12/23(木) 23:44:11
> ずっとJISコードに変換してアップしていたのですが
スクリプト中に ISO-2022-JP (JIS) を書ける perl はありません。
jperl でも無理です。ISO-2022-JP はメール/Net News 以外で
使うことは まずないと思ってください。

一般的に、スクリプトやソースなど、プログラム (perl や cc) が
解釈するファイルに ISO-2022-JP が含まれていると、大抵こけます。


> これをシフトJISのままアップしたら
(EUC を扱えるエディタを手にいれて) EUC にした方が
いいと思うんだけどなぁ。Windows 環境では EUC は
不便なのかな?

http://www.tohoho-web.com/cgi-bin/wwwcount.txt
> print "OK. CGIスクリプトは動作可能\です。\n";
EUC だと、こんなふうにわざわざエスケープする必要もないし。
たしか jperl でも このエスケープは必要ですよね?

あらい 1999/12/25(土) 02:25:48
 画像が白くつぶれる件は、データをもう一度作り直したら解決しました。サ
イズは同じだったのですが、ゼロのデータだけ、拡大なんとかというコメント
が付いていたので、それが問題だったのでしょう。お騒がせしました。

 漢字コードの件は、HTMLはJISで、CGIなどはEUCでアップすることにしま
した。再度FTPをやり直しましたが、EUCにしても?testモードで文字化けし
てしまいます。これはどこがいけないのでしょうか? 別のCGIも同じように
文字化けで表示されます。

tanaka 1999/12/25(土) 07:59:41
全て、漢字統一(EUC)にしてほうが、よいと、思います。

B-Cus 1999/12/25(土) 08:07:38
> EUCにしても?testモードで文字化けしてしまいます。
そのCGIのURLを教えて下さい。あと、ソースを *.txt として
公開して下さい。

あらい 1999/12/25(土) 21:56:33
>>全て、漢字統一(EUC)にしてほうが、よいと、思います。

 その理由を教えてください。今のところ、とほほさんが「漢字コードについ
て」や「文字化けしないようにするには」で書いているように、基本はJISを使
おうと思っています。

 EUCにしてアップしたあとで、Content-typeでeuc-jpに指定してみましたが、
やはりだめでした。ブラウザの問題かと思ってNN3.01とIE4.01(for Mac)で試
しましたが、同じでした。CGIのURLは以下になります。

http://hpcgi1.nifty.com/yu-min/wwwcount.cgi

 ソースは以下に置いておきました。

http://www2.ocn.ne.jp/~oden/wwwcount.txt

 このファイルをブラウザで直接見ると文字化けします。FTPソフトで表示させ
ると普通なので、こちらのブラウザなどの環境が悪いような気がしてきました。

 よろしくお願いします。

B-Cus 1999/12/26(日) 00:55:36
> http://www2.ocn.ne.jp/~oden/wwwcount.txt
この時点で化けているということは、FTP で PUT した時点で
既に化けてしまっている、ということです。文字コード変換の
ミスかもしれません。

> HTMLはJISで、CGIなどはEUCでアップ
が一番よいと思います。

ただ EUC は比較的化けやすいので、うちでは先頭付近に
 open(STDOUT,"|/usr/local/bin/nkf -j");
を入れてますが、重くなるので共用サーバではあまりおすすめしません。

今なら `charset=EUC-JP' を解釈できないブラウザは少数派でしょうから、
 print "Content-type: text/html\n\n"

 print "Content-type: text/html; charset=EUC-JP\n\n"
としておくのがいいかも。

あらい 1999/12/27(月) 02:26:07
[[解決]]
FTPソフトの設定をいろいろ変更してやったところ、なんとか文字
化けしないでPUTできました。けっきょく、以下が原因のようでし
た。HTMLは問題ないのですが……。

>>Fetch のバージョンやMacintosh の機種によりFTP したファイル
>>が文字化けすることがあります。そのような時は、カスタム→
>>初期設定→Upload の設定を生データにしてください。

 その前に漢字・改行コードを変換してバイナリアップという方
法もやったのですが、それはうまく動作しなかったようです。そ
れでもまだ文字化けするCGIがありますが、とほほカウンターは
解決したので、いちおうこれで終わりとします。
 ありがとうございました。

[上に] [前に] [次に]