タイトル | : Encode.pm requires perl5.7.3 or later. |
投稿日 | : 2012/03/18(Sun) 15:31 |
投稿者 | : おやじ |
> 行ってみたことは、Encode.pmを追加する。
どうやって追加したのですか? 単に下記の「use Encode;を記述」のことを言ってませんか?
何故なら、下記のエラーでわかるとおり、Perlのバージョンが 5.005 なのに追加できるとは思えないのですが?
Encode.pmはperl5.7.3(実質5.8.x)以降しかサポートしていませんよ。
> use Encode;を記述
> print "日本語表示テスト\n";
> my $flagged_uft8 = decode 'enc-jp', $bytes;
> print "Content-type: text/html\n\nOK1.\n"; exit(1);#ここまできたら終了し、okと出す。
>
> エラーは
> Can't locate EnCode.pm in @INC (@INC contains: ./lib /usr/lib/perl5/5.00503/i686-linux /usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i686-linux /usr/lib/perl5/site_perl/5.005 .) at /virtual/www/user_info3.cgi line 18.
> BEGIN failed--compilation aborted at /virtual/www/user_info3.cgi line 18.
No.8385でブラウザで解決したとありますが、サーバ設定を除いて文字化けを起こさないためには、
1. 外部から読み込むデータの文字コード
2. CGIそのものの文字コード
3. CGIで出力するHTMLのhead部で指定する出力するコンテンツの文字コード指定(<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">)
4. CGIで出力するHTMLの文字コード
の整合がとれていなければ駄目です。ブラウザで解決したということなので、恐らく3項と4項が不整合だからではないですか?
> かなり初歩的なミスだと思うのですが、今日1日調べて試してもできませんでした。
と、思います。原因も対処方法も初歩的なことと思います。