|
>>2184 68user > 追加する全角文字のエンコーディングを EUC-JP にするか、Shift_JIS > にするかが問題です。 半角カナ「アイウエオ」の場合,後ろにスペースを3つ追加するだけで 上手くいきました。多分,全角文字なら判別対象になるので, それをある程度の長さで追記すればいいのかなと思いました。そこで, html側で別に送った全角文字を追加して判別するつもりでした。 ただ,こちらの掲示板では短い半角カナの「シイ」を判別できたので, jcode.plのせいではないようです(私の方ではシイも化けました)。 cgi-lib217.plを使っているせいかも……? 人様のプログラムの改造から使い始めたPerlですが, 以前に比べればいろいろなことがわかってきました。 上述のことを確かめる意味でも, 自分が理解できる範囲で1から作り直してみることにします。 (jcode.pjは深く考えずに使いますが……(^^;) それを検証できたらまた報告しますね。 |
|
>>2174 椎 >イメージできないんですが,具体的にどんな場合でしょうか。 すみません、よく読んでいませんでした。 CGIで出力するページソースの中の日本語コメントがSJISでEUCに変換 した日本語を同時に出力と言うケースでしたが、shiiさんの場合は まったく違うようですね。 >>2176 68user サーバーサイドという事は常駐システムですね。 さすが68userさん(笑) 自分も先日初心者用のCD付き本を買ってきて、JDKをインストールして みましたが、いきなりサンプルの Hello! が動かないトラブルで、 既にめげています(笑) ざっと見た感じでは、関数類を覚えれば特に難しく無さそうな感じも しますが、甘いかな?(^^; もしよければ、お勧めの初心者向けサイトを教えてくれると嬉しいです。 >2184 >名前の部分にカーソルがある状態で Enter を押しても書き込み こういう事でしょうか? <HEAD〜内 <SCRIPT LANGUAGE="JavaScript"> <!-- function submit_check(){ if(!document.FORM.elements.MESSAGE.value){ alert("メッセージを記入してください。"); return; } if(!document.FORM.elements.NAME.value){ alert("名前を記入してください。"); return; } document.FORM.submit(); } //--> </SCRIPT> <FORMへ <FORM METHOD=POST ACTION="$script_name" NAME="FORM" OnSubmit="submit_check();return false;"> 外してます? |
|
>68userさん ありがとうございました。 IPアドレスで使用していきます。 |
|
cgi-lib217.plを使わずにreadで読んでやってみましたが やはり文字化けしました。引き続き調査中です。 |
|
すいません、また怪奇現象が起こったのでお力をお貸しください。 Excel のワークシートを単純に <a href> タグでリンクすると クリックすると中が見えてしまう(文字化けの文書として開こうとする)ので、 いぜん別の場所で教えてもらった方法をアレンジして 下のような CGI スクリプトで行っています。 --- download.cgi --- #! perl $arg = $ENV{'QUERY_STRING'}; $arg =~ /name=(.*)/; $excelfile = $1; $pwd = `pwd`; chomp($pwd); unless (open (FL, $excelfile)) { print "Content-type: text/plain\n\n"; print "error opening $excelfile because $! at $pwd"; exit; }; print <<HEAD; Content-type: application/octet-stream Content-disposition: attachment;filename="$excelfile" HEAD print <FL>; close(FL); ------------------- これを、 <a href="http:.../cgi-bin/download.cgi?name=test.xls">ここをクリック</a>して xls ファイルを、、 のように呼び出そうという寸法です。 これが、場所によって挙動が異なるのです。 project | cgi-bin | | download.cgi | subproj1 | | aaa.html | | xxx.xls | subproj2 | | subdir | | | bbb.html | | | yyy.xls ここで、 http://org/~project/subproj1/aaa.html として見える aaa.html の中に、 <a href="http://org/~project/cgi-bin/download.cgi?=xxx.xls">XXXをダウンロード</a> と書くとうまくいくのですが、 http://org/~project/subproj2/subdir/bbb.html の中に、 <a href="http://org/~project/cgi-bin/download.cgi?=yyy.xls">YYYをダウンロード</a> と書くと、 error opening yyy.xls because No such file or directory at /.../project/cgi-bin と表示されます。 パスが何らかの理由で見えないのかと思って <a href="http://org/~project/cgi-bin/download.cgi?=../subproj2/subdir/yyy.xls">YYYをダウンロード</a> と書くと、なんと download.cgi という名前でファイルを保存しようとします。 保存して中を開けてみると、中身はなんと yyy.xls! 1回目の実験は xxx => yyy の順番で行ったので、 何らかのキャッシュが行われているのかと思い、yyy => xxx の順で行っても同じです。 ということでよろしくお願いします。 サーバー側は FreeBSD 2.2.8-RELEASE+Apache(Apache のバージョンの見方がわかりません、、)、 クライアント側は Windows2000 Server+NC4.51 および IE6 です。 |
|
↓下の件ですが、Apache は 1.2.5 だと管理者からメールが来ました。 |