cgiにJISコードで出力させるには?
[上に]
[前に]
[次に]
y
[E-Mail]
2000/02/03(木) 22:56:27
こんにちは
http://www2a.biglobe.ne.jp/~yama/
ここにある RES CGI(RES ver4.3)という掲示板のcgiで、
出力される文字コードをISO-2022-JPにしたいと思っています。
まず、掲示板を構成する3つのcgi自体をJISコードにして試したのですが、
動いてくれませんでした。サーバのログを見ると、
syntax error at /home9/..(略)../res.cgi line 23, near "= "<font
size=\"5\">ブラウザ情報があ°(以下、文字化けして読めません)
となっていました。res.cgiの22〜4行目は
if($proxyset2 eq "on" && $pwdset2 ne 'on'){
if($ENV{'HTTP_USER_AGENT'} eq ""){$messe = "<font size=\"5\">ブラウザ情報が
ありません<br>HTTP_USER_AGENTが利用できないかも知れません。</font>";&keikoku;}
if($ENV{'HTTP_USER_AGENT'} =~ /(proxy|via)/i){
この様になっていました。
次に、ラウンジを検索したところ、
open(STDOUT, "|nkf32 -j");
と書けばいいらしいことは分かったのですが、
これが上手く動いてくれません。単に、
#!/usr/mesh/bin/perl5
print "Content-type: text/html\n";
print "\n";
open(STDOUT, "|nkf32 -j");
print "あらら\n";
というcgiで試しても動かないので、サーバが対応していないか、
やり方が悪いのか、どちらかだろうと思うのですが、
よく分かりません。サーバはbiglobeのwww2uです。
どうしても必要というわけではなくて、
気まぐれでやってみたい、というだけのことなので、
身分にそぐわない複雑な知識・作業を必要とするのであれば、
素直に諦めたいと思います。いい加減な動機ですみませんm(__)m
何かいい方法をご存じの方がいらしたら教えてください。
よろしくお願いします。
とほほさん、長くなってしまい済みませんm(__)m
Nobu3
2000/02/04(金) 01:00:05
日本語入りのスクリプトをJISコードで書いてしまうのはダメです。
詳しいことはわかりませんが・・・。
で、EUCなり、SJISで動くのならば、素直に「jcode.pl」などのコード変換ライブラリを使いましょう。
元ネタを見ていないのでなんとも言えませんが・・・。
jcode.plの配布元(最新版は2.11)
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/
jcode.pl の私的な解説書
http://ina.kappe.co.jp/~sabre/kcode/jcode.html
mm
2000/02/04(金) 02:40:30
>open(STDOUT, "|nkf32 -j");
を↓にしてみては?
open(STDOUT, "|/usr/local/bin/nkf -j");
nkf32ってWin用じゃないの?
y
[E-Mail]
2000/02/04(金) 03:53:13
[[解決]]
open(STDOUT, "|/usr/local/bin/nkf -j");
これで見事解決しました。
ありがとうございました。
[上に]
[前に]
[次に]