重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Perl5.8でCSVをダウンロードできる仕組みをつくっています。
utf-8でコードを記述しているため当然ながらダウンロードしたCSVデータもutf-8です。
しかしながらエクセルでダブルクリックで開く場合どうしてもutf-8だと支障があるため、
shift-jis(もしくはcp932)で開きたいのです。
ダウンロード時に文字とファイルをshift_jisに変換する方法はございませんでしょうか?

以下作成済みのコード
-------------------------------------------------------
if(!open(OUT,"$CSV_FILE")){&error('CSVデーターファイルがありません'); }
else{
@csvdata=<OUT>;
close(OUT);
}

foreach(@csvdata){

$downloaddata .= $_;

}
print "Content-Disposition: attachment; filename=$CSV_FILE_NAME\n\n";
print $downloaddata;
exit;
-------------------------------------------------------

何卒よろしくお願いいたします。

A 回答 (1件)

--------------


foreach(@csvdata){
use Encode; # この行と
Encode::from_to( $_, 'utf8', 'shiftjis' ); # この行を挿入
$downloaddata .= $_;
}
--------------
上記のように2行挿入してみてください。
PerlのバージョンによってはEncodeモジュールが入ってない場合はエラーになります。
お試しください。

参考URL:http://oshiete.goo.ne.jp/qa/7584615.html
    • good
    • 0
この回答へのお礼

さっそく施してみました。

ばっちりできました!

助かりました。

ありがとうございました。

お礼日時:2013/04/03 22:27

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