- ベストアンサー
EUCで出力されるプログラムをS-JISで出力するようにしたい。
perlはまだかじる程度です。 あるサイトで配布されていたプログラムを使用していたのですが、 このプログラムでは、出力されるdatファイル(テキストファイル)がEUCで出力されます。 これをShift-JISで出力させたいんですが…できるんでしょうか。
- みんなの回答 (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で 出来ると思います。
その他の回答 (4)
- j-mika
- ベストアンサー率46% (15/32)
うわわ・・・しまった。 使い出しと思っていたので、補足を忘れていました。 今までのログを取ってるといいのですが。 今までのログは、eucででていて。 プログラムはそれをsjisで読んで保存したので。 これまでのデータに文字化けが生じます。 これまでのデータを削除(空のログファイルをUP)して、改めて使い出すと文字化けはないかなと思いますが、いかがでしょうか。 本当の手順としては、ログファイルもDLして、sjisに変更、UPしないといけません。 気がまわらなくてすみませんでした(--;
- sakusaker7
- ベストアンサー率62% (800/1280)
require 'jcode.pl'; してるんだから、Jcode.pmだのnkfだの持ち出さないでも 出力する前に jcode::convert で sjisにしてから出力すればいいんじゃないでしょうか。
- maku_x
- ベストアンサー率44% (164/371)
perl で日本語を扱う場合は、Jcode モジュールを使用するのが一般的なようです(別途インストールが必要)。 http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83%A1%E3%83%A2%2F%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AE%E6%89%B1%E3%81%84
- yambejp
- ベストアンサー率51% (3827/7415)
てっとりばやくnkfで変換してみては?
お礼
j-mikaさん、ありがとうございました。 ログはs-jisで保存されました! しかし、sjisにすると今まで正常に表示されていた文字(例:"予約")などが文字化けしてしまいました。 他にも、祝日の名前などが文字化けします。 でも、これはひとつひとつ調べて文字化けするところで\を入力しておけば大丈夫そうですね。 もし他にこの文字化けを改善する良い方法があればお願いします。 今回は本当にありがとうございました。 感謝です。