@IT に Csvde.exeについて という投稿がありました。
その中に Unicode 形式で出力したCSVファイルを Excel で開くと適切に表示されないという指摘があったので調査してみました。
結果、CSVファイルをダブルクリックして Excel 2003 で開いたときに Excel がカンマを区切り文字として自動的に認識してくれる Unicode のエンコーディングは UTF-7 と UTF-8 で、csvde.exe が -u パラメータ付きのときに出力する UTF-16 LE には対応していないことが分かりました。
その他調査の過程で分かったことをまとめます。
調査に使用したテキストファイルのエンコーディングは以下の5種です。
Shift_JIS(CP932) 形式
UTF-7 形式
UTF-8 形式
UTF-16 LE 形式
UTF-16 BE 形式
CSVファイルの改行方法は全て CR+LF です。
カンマ区切り、タブ区切り共に拡張子は csv としました。
カンマ区切りのファイルをダブルクリックして Excel 2003 で開いたとき
Shift_JIS : 区切り文字を自動で認識して問題なく開く。
UTF-7 : 区切り文字は認識されるが文字化けする。
UTF-8 : 区切り文字は認識されるが文字化けする。
UTF-16 LE : 区切り文字が認識されない。文字は正常に表示される。
UTF-16 BE : 区切り位置、内容共に目茶苦茶。
タブ区切りのファイルをダブルクリックして Excel 2003 で開いたとき
Shift_JIS : 区切り文字が認識されない。文字は正常に表示される。
UTF-7 : 区切り文字が認識されない。文字化けする。
UTF-8 : 区切り文字が認識されない。文字化けする。
UTF-16 LE : 区切り文字を自動で認識して問題なく開く。
UTF-16 BE : 区切り位置、内容共に目茶苦茶。
カンマ区切りのファイルを Excel 2003 の[開く]メニューから開いたとき
Shift_JIS : 区切り文字を自動で認識して問題なく開く。
UTF-7 : 区切り文字は認識されるが文字化けする。
UTF-8 : テキスト ファイル ウィザード が表示される。
UTF-16 LE : テキスト ファイル ウィザード が表示される。
UTF-16 BE : 区切り位置、内容共に目茶苦茶。
タブ区切りのファイルを Excel 2003 の[開く]メニューから開いたとき
Shift_JIS : 区切り文字が認識されない。文字は正常に表示される。
UTF-7 : 区切り文字が認識されない。文字化けする。
UTF-8 : テキスト ファイル ウィザード が表示される。
UTF-16 LE : テキスト ファイル ウィザード が表示される。
UTF-16 BE : 区切り位置、内容共に目茶苦茶。
以上、こんな感じでした。