• ベストアンサー

Jcode.pmについて

自分のサイトでCGIを動かすために ActivePerl 5.8.6.811をインストールしようとしています。 ActivePerl 5.8.6.811にはJcode.pmは最初から入っていますか? Windowsを知らない友人からJcode.pmをインストールしろと言われましたが、 よく分かりません。 「環境」 OS:Windows XP Pro Webサーバ:IIS

  • Perl
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.3

> その中に、win_install.plがありません。 1.99_07はVersion 2.0に向けてのベータ版です。 この中にはwin_install.plはありません。 ですが、サイトにある説明どおり、Encodeのラッパーとして動作するだけなのでJcode.pm単体だけでも動作可能です。 この場合のJcode.pmの置き場所は C:\perl(ActivePerlインストール先)\site\lib\ になります。 1.99_07を5.8.1以降で使うならJcode.pm単品を上記のディレクトリ下におくだけでも構いません。 「win_install.plを使う」や「コピーはコピーでも置く場所は決まっています」と言ったのはVersion 2.0ではない現行のバージョンである0.88までのものを使う場合です。 ****://openlab.jp/Jcode/Jcode-0.88.zip または ****://openlab.jp/Jcode/Jcode-0.88.tar.gz この場合のファイルの配置は、 |-- Perl(ディレクトリ)  |-- site(ディレクトリ)   |-- lib(ディレクトリ)    |-- Jcode(ディレクトリ)    | |-- Constants.pm    | |-- H2Z.pm    | |-- Tr.pm    | |-- Unicode.pm    | |-- Unicode(ディレクトリ)    |  |-- NoXS.pm    |  |-- Constants.pm    |    |-- Jcode.pm な感じになります。 が、win_install.plを実行すれば勝手にやってくれるので気にする必要はないでしょう。

denchi2004
質問者

お礼

ありがとうございました。 バージョン0.88をダウンロードしてからwin_install.plでインストールしました。 無事にインストールができました。 何度も質問したにもかかわらず、丁寧な回答を頂き、ありがとうございました。

その他の回答 (2)

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.2

> 下記のフォルダにコピーするだけでいいのでしょうか? いいえ。 コピーはコピーでも置く場所は決まっています。 Encodeのディレクトリ内においてもうまく呼び出せないため動かないでしょう。 ちなみに、Jcode.pmは、通常の perl Makefile.PL make make install 以外にも同梱されている win_install.pl を使うと簡単にインストールできます。 perl win_install.pl (makeする場合との違いは、XSにするかNoXSにするかの違いです。)

denchi2004
質問者

補足

何度もご回答いただき、ありがとうございます。 http://openlab.jp/Jcode/index-j.htmlから「Jcode-1.99_07.zip 」をダウンロードしました。 その中に、win_install.plがありません。 この場合は、どのようにインストールするのでしょうか? いろいろ調べた中では、win_install.plでインストールすると書かれていますが、 「Jcode-1.99_07.zip 」にはwin_install.plが含まれていません。 また、上記のサイトには、 「Jcode 2.0 より、お使いの Perl Version が 5.8.1 以降の場合は Encode の Wrapper として機能するようになりました。 この場合、Jcode.pm は付属モジュールを必要としないため、 jcode.pl の場合と同様、Jcode.pm を Library Path に置くだけで利用できるようになります。」と 書かれています。 >コピーはコピーでも置く場所は決まっています。 この置く場所は、どこでしょうか? 教えて下さい。 よろしくお願いします。

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.1

Jcodeは標準モジュールではないため入っていません。 というか、Perl5.8.0以降はEncodeを使うのが推奨されています。 もちろんJcodeを使ってはいけないというわけではありませんが。 ちなみに新版JcodeではPerl5.8.0以降ではEncodeのラッパーとして動くようになります。 http://openlab.jp/Jcode/index-j.html

参考URL:
http://openlab.jp/Jcode/index-j.html
denchi2004
質問者

補足

Jcodeを使うCGIのプログラムらしいので、 Jcodeは必須みたいです。 そこで、再度質問ですが、Jcode.pmを下記のフォルダにコピーするだけでいいのでしょうか? 「C:/ActivePerlインストールフォルダ/lib/Encode」 教えて下さい。 よろしくお願いします。

関連するQ&A

  • Jcode.pmでの”~-”の変換

    お世話になります。 WindowsXPHomeSP2+ActivePerl5.6.1+Jcode.pm2.6の環境です。 UTF-8形式の文字列"~-"をJcode::convertを使用してShift-JIS形式に変換したところ、変換結果がいずれも"†"になってしまいました。 これらの文字を正常にJcode.pmを使用してShift-JISに変換する方法がありましたらご教授ください。よろしくお願いします。

    • ベストアンサー
    • Perl
  • Jcode.pmについて

    ネット上からダウンロードしてきたCGIプログラム内で、Jcode.pmを使用しているようなのですが、サーバ にUpしたところ、以下の様なエラーが表示されました。 ※1 Can't locate Jcode.pm in @INC (@INC contains: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .) at access/accview.cgi line 68. ※2 BEGIN failed--compilation aborted at access/accview.cgi line 68. ちなみに、accview.cgi line 68には use Jcode; と書かれていました。 エラーの原因として、何がありますか? また、その解決法を教えていただきたいです。

    • ベストアンサー
    • Perl
  • Jcode.pmでconvertできない

    あけましておめでとうございます。 早速ですが、皆様のお力を拝借したく。 WindowsXPSP2+ActivePerl5.6.1でJcode.pmを使用して、utf8へ変換しようとしました。 http://okwave.jp/qa2600582.html を参考にJcode.pmを導入し(とある事情でインストールしておりません)、以下のソースを記述しました。 ちなみに"sjis"で記述しております。 #!/usr/local/bin/perl use lib "./lib"; use Jcode; $buf = "てすてすてす"; print "BeforeCode=".Jcode::getcode($buf)."\n"; Jcode::convert( \$buf, "utf8"); #$j = Jcode->new($buf); #$buf = $j->utf8; print "$buf\n"; print "AfterCode=".Jcode::getcode($buf)."\n"; exit; すると BeforeCode=sjis AfterCode=euc と表示され、"utf8"を指定したにも関わらず、"euc"に変換されてしまいました。 次に、上記ソースの中ほどを #Jcode::convert( \$buf, "utf8"); $j = Jcode->new($buf); $buf = $j->utf8; と書き換えてみました。すると、 BeforeCode=sjis Undefined subroutine &Jcode::_Classic::euc_utf8 called at lib/Jcode/_Classic.pm line 255. とエラーが出てしまいます。 見た感じeuc_utf8が存在しないと言われているようですが、Jcode\Unicode\NoXS.pmに存在しています。 環境に問題があるような気はしますが、どのようにすれば"utf8"への変換が成功するのでしょうか?ご教授いただければ幸いです。 ちなみに上記ソースで Jcode::convert( \$buf, "jis"); Jcode::convert( \$buf, "euc"); Jcode::convert( \$buf, "sjis"); はすべて成功し、指定した文字コードに変換されました。 "utf8"への変換だけが失敗するという状況で、新年早々頭を抱えております。

    • ベストアンサー
    • Perl
  • IIS7とActivePerlを導入しましたが、エラーに。教えてください

    OSはvistaです。IIS7とActivePerl5.8.8を導入しました。 http://www.winpc.info/vista/tips/ を参照にhttp://localhost/test.cgiの実行では成功しました。 それで、過去(XPとIIS6)で動いていた。CGIを動かしてみると、失敗になり、上記の「test.cgi」に、 require 'jcode.pl'; を追加してテストすると、エラーになります。 ActivePerl5 では、「require」は使えないのでしょうか。 また、IIS7の設定やその他に問題があるのでしょうか。 宜しくお願いします。

  • ファイル指定ができない!?ファイルが見つからない・・・。

    こんばんわ。 現在、IIS+ActivePerl(最新)という環境でCGIを動かそうと考えています。 Unix系サーバで実行した場合は問題なく動くのですが、IIS環境で動かすと、外部のファイルつまり掲示板のログファイルやjcode.plなどが見つかりませんと表示され動作してくれません。 私のCGIがだめなのかと思ってKentさんのCGIやいろんな人のいろんなCGIでテストしましたが、駄目でした。 ActivePerlの設定がまずいのかとおもいきや、単純なもの(外部ファイルを使わないもの)はきれいに動きました。 ファイルが見つからないとかCan't location~と出るのでIIS+Active~には問題ないと思うんですが・・・。 ファイルの指定方法がまずいのでしょうか? どうしたもんでしょう・・・誰か思い当たるどんなことでも結構です・・・教えてください。 お願いいたします・・・。

    • ベストアンサー
    • CGI
  • jcodeを使ったgetcode

    Perlで日本語を扱う際にjcode.plを使いたいと思いました。 問題点はgetcodeを使用した際に文字コードが出力されなかったということです。 'あ'はsjisと出るのですが 'a'は出力がありません。 文字コードが判別できなくてもなんらかの出力は得られるとWebで見たのでなぜ このような現象になるのか質問させていただきました。 参考にしたサイト http://www.mikeneko.ne.jp/~lab/kcode/jcode.html [ソース] #!/usr/local/bin/perl require './jcode.pl'; print "Content-type: text/html\n\n"; $line = 'あ'; $code = &jcode::getcode(\$line); print "print1 = $code\n"; $line = 'a'; $code = &jcode::getcode(\$line); print "print2 = $code\n"; [結果(コマンドプロンプト上)] Content-type: text/html print1 = sjis print2 = このようになる原因を知りたいです。回答や実行環境への質問などお願いします。 実行環境 1 OS: WindowsXP SP1a webサーバ: Apache 1.3.27 Perl: ActivePerl 5.8.0 ブラウザ: IE6.0 実行環境 2 infoseek無料webスペース

    • ベストアンサー
    • Perl
  • IIS5.1&SSI

    WindowsXP Pro の環境でIIS5.1でWebサーバを立ち上げる為の仕組みの勉強をしています。 CGIを組み込むべくActivePerlを導入しました。 Perlで組んだCGIの動作はできるようになりましたが、 <!--#exec cgi="xxxx.cgi"--> が動作しません。 ものの本によると、SSIはデフォルトで設定済みとなっています。 どこで確認したらいいか教えて下さい。

  • IISでCGIを動かすには?

    NT Server4.0でIISのwebサーバを立ち上げています。 ActivePerlをインストールしました。 CGIスクリプトを動かしたいのですが、クライアントから実行させると 単にCGIスクリプトが表示されるだけです。 .cgi拡張子のMIMEタイプの登録が必要なのでしょうか? レジストリをいじってみましたが、よく分かりませんでした。 あまり詳しくなく、初心者に近いですがよろしくお願いします。

  • perl設定

    社内LANを利用してイントラネットサーバーを立ち上げようと思っています。 そこで、ご意見箱のような使い方として、掲示板とカウンターを設けたいと思っています。 いろいろ調べるとPerlとCGIを利用することで対応が取れることが分かりました。 ActivePerl-5.8.0.806-MSWin32-x86 ダウンロード済み IIS5.0インストール済み OS Windows2000 pro カウンター、掲示板はフリーソフトを利用 は準備済みです。 IIS5.0とPerlの設定方法が分かりません。 インターネットを探してもめぼしいものが見つかりません。 (IIS4.0は見つかったのですが、若干設定が違うようですので、いまいち詳細が分かりません。) どなかた参考になる情報を教えてください。

    • ベストアンサー
    • Perl
  • CGI(Perl)を仮想サーバにインストールすることはできますか?

    CGI(Perl)を仮想サーバにインストールすることはできますか? お世話様です。 CGI(Perl)を仮想サーバにインストールすることはできますでしょうか? 仮想サーバの構成 OS:Windows Server 2008 (32bit 及び 64bit) インターネットインフォーメーションサービス:IIS7.0 仮想化ソフト:VMware ESX CGI: ActivePerl また、CGI(Perl)について、最低限のバージョンの指定はありますでしょうか? 上記に記載されていない、必要な機能、ソフトバージョン等があれば 教えてください。 よろしくお願いします。

    • 締切済み
    • CGI

専門家に質問してみよう