今からDBの文字コードをShift_JISにするなんてこと面倒なんでやりませんよ。
そこで使いますはこちらの関数。
mb_convert_encoding(string str, string to [, mixed from])
str : 変換対象の変数
to : 変換後の文字コード
from : 返還前の文字コード
これで引っ張りだしてきたデータの文字コードを変えてCSVファイルに書き込めばよし。
これでいいはず。
追記
問題なくexcelで開いた。
けど、やっぱり文字コードの変換って面倒。
windowsは早くutf-8のCSVファイルをexcelで文字化けなく開けるようにすべき。