WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:perlとHTMLの文字コードについて

0:[投稿] ABO [2004/04/18 20:38 ][環境:IE6,win2000 Apache,perl]

perlとHTMLの文字コードについて質問で御座います。
perlで下記のようなものを作ってみたのですが・・・

#!/usr/local/bin/perl

# 各ファイルの設定
$jcode      = './jcode.pl';
$libfile    = './cgi-lib.pl';
$pretop     ='pretop2.txt';
$presentunder    = 'present2.txt';

# libファイルの読み込み
require $jcode;
require $libfile;

# HTML内容の読み込み
open(IN, $pretop);
@pretop = <IN>;
close(IN);
open(IN, $presentunder);
@presentunder = <IN>;
close(IN);

&ReadParse;

# HTML書き出し
print "Content-type: text/html\n\n";
print @pretop;
print @presentunder;

pretop2.txtとpresent2.txtはEUC形式で保存したHTMLファイルで、HTML内のキャラセットもEUCなのですが、これをサーバー上で実行すると「文字が正しくありません」と表示されてしまいます。
試しにpretop2.txtとpresent2.txtのHTML内のキャラセットをSHIFT-JISに変えてみたら、エラーは出なくなりましたが当然のように文字が化けてしまいました。
どのように対処いたらよいか途方にくれてしまい、ここに書き込ませていただいた次第で御座います。
どうかどなたか良い知恵を授けていただけませんでしょうか?
何卒宜しくお願い致します


1:[回答] バギンズ [2004/04/19 11:40 ]

>「文字が正しくありません」と表示されてしまいます。
「文字が正しくありません」で、Web検索してみましたか?

問題の箇所を見つけるのであれば、pretop2.txtとpresent2.txt内の日本語を最小限にしてから少しづつ増やしていき、どこでエラー表示されるかを確認してみてください。

あと、これはどっちかていうと文字化けの対処なのですが、
META要素でのcharsetより、
HTTPヘッダでのcharsetの方が強かったりします。
(最近のブラウザは調べてないですけど...)

print "Content-type: text/html; charset=euc-jp\n\n";


2:[完了] ABO [MAIL] [2004/04/23 12:29 ]

お返事遅くなりまして大変申し訳ございません。
バギンズさんのご意見も参考にやってみたのですが、どうにも穴が見つからなかったのでperiの文章の中にEUCで書き出したHTMLを埋め込んでみたらうまく作動いたしました。大変お騒がせ致しました。
アドバイス頂いたバギンズさん誠に有難うございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World