質問: utf-8のcsvをshift_jisに変換したい perl5.8でcsvをダウンロードできる仕組みをつくっています。 utf-8でコードを記述しているため当然ながらダウンロードしたcsvデータもutf-8です。 しかしながらエクセルでダブルクリックで開く場合どうしてもutf-8だと支障があるため、 shift-jis(もしくはcp932)で開きたいのです。 ダウンロード時に文字とファイルをshift_jisに変換する方法はございませんでしょうか? 以下作成済みのコード ------------------------------------------------------- if(!open(out,"$csv_file")){&error('csvデーターファイルがありません'); } else{ @csvdata=; close(out); } foreach(@csvdata){ $downloaddata .= $_; } print "content-disposition: attachment; filename=$csv_file_name\n\n"; print $downloaddata; exit; ------------------------------------------------------- 何卒よろしくお願いいたします。
回答: -------------- foreach(@csvdata){ use encode; # この行と encode::from_to( $_, 'utf8', 'shiftjis' ); # この行を挿入 $downloaddata .= $_; }上記のように2行挿入してみてください。 perlのバージョンによってはencodeモジュールが入ってない場合はエラーになります。 お試しください。 参考url:http://oshiete.goo.ne.jp/qa/7584615.html