プロが教えるわが家の防犯対策術!

perlはまだかじる程度です。

あるサイトで配布されていたプログラムを使用していたのですが、
このプログラムでは、出力されるdatファイル(テキストファイル)がEUCで出力されます。
これをShift-JISで出力させたいんですが…できるんでしょうか。

A 回答 (5件)

こんにちは。


「かじる程度」という事なので。もうちょっとだけかじれる程度の私が(^^;

エディターは何をお使いですか? コードを指定して保存できる物でしょうか?
出来ないのであれば、ひとまず
http://www.k-collect.net/program.htm

68行目の
$CharSet = 'EUC-JP'; # 漢字コード
$Encoding = 'euc';

$CharSet = 'shift_jis'; # 漢字コード
$Encoding = 'sjis';
へ変更

1410行目の
print " <META http-equiv=\"Content-Type\" content=\"text/html; charset=EUC-JP\">\n";

print " <META http-equiv=\"Content-Type\" content=\"text/html; charset=shift_jis\">\n";
へ変更

これで、プログラムをshift_jisで保存、運用するとlogはshift_jisで
出来ると思います。
    • good
    • 0
この回答へのお礼

j-mikaさん、ありがとうございました。
ログはs-jisで保存されました!

しかし、sjisにすると今まで正常に表示されていた文字(例:"予約")などが文字化けしてしまいました。
他にも、祝日の名前などが文字化けします。
でも、これはひとつひとつ調べて文字化けするところで\を入力しておけば大丈夫そうですね。
もし他にこの文字化けを改善する良い方法があればお願いします。

今回は本当にありがとうございました。
感謝です。

お礼日時:2007/09/07 20:02

うわわ・・・しまった。


使い出しと思っていたので、補足を忘れていました。
今までのログを取ってるといいのですが。

今までのログは、eucででていて。
プログラムはそれをsjisで読んで保存したので。
これまでのデータに文字化けが生じます。

これまでのデータを削除(空のログファイルをUP)して、改めて使い出すと文字化けはないかなと思いますが、いかがでしょうか。

本当の手順としては、ログファイルもDLして、sjisに変更、UPしないといけません。
気がまわらなくてすみませんでした(--;
    • good
    • 0

require 'jcode.pl';


してるんだから、Jcode.pmだのnkfだの持ち出さないでも
出力する前に jcode::convert で sjisにしてから出力すればいいんじゃないでしょうか。
    • good
    • 0

perl で日本語を扱う場合は、Jcode モジュールを使用するのが一般的なようです(別途インストールが必要)。


http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83% …
    • good
    • 0

てっとりばやくnkfで変換してみては?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!