Excelで読み取れるCSV
文字コード UTF-8 のCSVファイルをExcelで開くと、以下のように文字化けする。
文字化けをさせないためには先頭にBOM(バイトオーダーマーク)を付ける必要がある。
#PerlでBOMを出力するサンプル
bom.pl
#!/usr/bin/perl
use strict;
use warnings;
# BOMを出力する
print "\x{EF}\x{BB}\x{BF}";
# CSVを出力する
print "ID,名前"."\n";
print "1,山田"."\n";
print "2,田中"."\n";
print "3,坂本"."\n";
実行
./bom.pl > excel.csv