ここから本文です

open(OUT,">log/yosou.cgi"); print OUT @yosou;

otakudebuotakuanimeさん

2010/3/805:17:21

open(OUT,">log/yosou.cgi");
print OUT @yosou;

ログファイルをEUCで保存したいんですが


print OUT @yosou2;
close(OUT);

こんな感じでyosou.cgiに保存してるんですが
生成したファイルがshiftjis形式になっちゃいます
知識は皆無に等しいです
EUC形式で保存させるには
どう指定すればいいんでしょう

閲覧数:
325
回答数:
1

違反報告

ベストアンサーに選ばれた回答

pokemon12221さん

2010/3/805:24:18

ログファイルの拡張子がcgiというのも面白いですが…。

@yosou、@yosou2の中の文字列がSHIFT_JIS形式なのでしょう。ファイル出力する前に文字コードを変換させてやればOKです。
Jcodeを使うのが一般的だと思いますが、使っているPerlのバージョンはいくつでしょうか? 5.8なら下準備なしで、下記のようにモジュールを使うことができますが
http://smart-pda.net/isourou/other/tips/contents.html

それより低いバージョンであれば、jcode.plやjcode.pmを別途インストールする必要があります。下記サイトあたりを参考にやってみてください。
http://mikeneko.creator.club.ne.jp/~lab/kcode/jcode.html
http://openlab.ring.gr.jp/Jcode/index-j.html

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する