なんだこれは

はてなダイアリーから移転しました。

Excel/MS なんか使うからじゃん

チケットをRedmineで扱うのはわかる。
CSVで書きだすのもわかる。
ただ、CSVで書き出すときに、Shift_JIS(CP932)にするのはまったくわからない。

「そんな文字コードで大丈夫か?」

「大丈夫だ問題ない」

というやりとりがあったとかなかったとか。

それでどうなったかというと、


Shift_JISの範囲外の文字が文字化けが問題になった。

三三三三三三   ミ _    三三三三三三
三三三三三三   〔|ミlm|___,Θ三三三三三
三三三三./ ,)-__二二-―−´lミ ミミミミミ彡
三三三 /,,/ ̄ ̄ ̄) .、テ‐,-  ヽミ/~ヽミミ彡
三三三 /,,,/ (,,ヽ/ i ~`` ヽミ   lSl |ミミミ彡
三三 /^ヽヽノ lヽ) _ `   |   _/彡ミ彡   やれやれだぜ…
三 / \ ソ.  / }‐- 、       l ヽ彡ミミ
三 l、 \ )(  ノ  ノ⌒       / | ヽミミ \
三 l\ソ、  _/  ヽ__  _ /  |   /三三\
三 \  _/i |‐、三三三三\    /  /三三三

やれやれだぜ

だがしかし一番いいやつを頼むといわれたときにどうすればいいのだろうか?

ExcelUNICODE対応はどうだったか。

           ,. -‐=‐-、
         /::::/::::-、ヽ:レ‐、
        /::::/:::/::::::∨/'´`ヾ..、
 .      /:::/::/::::/ヽ::V::::::::l::::';:ハ
      /:/:/::::/i::::::V:::::::/:l:::ヘ:::',
   ∧  /":/:::/:::;.ヘ;.…彡ヘ:::::l::::::';::i
   |::::゙i//::/::::/      j::::::ハ:::::Vl
  _,!..ィ/:::::::::::/ヽ\   / .\:::::::';::::';l
 TL!::::i::::::::;.ィi Ftメ、ヽ jヽ x''"ヽ::::∧::i
 / E-i:::::;!--、__ `¨7´.i iィヒネラ';::::::::ソ
   弋「ニ:::::::::;. -‐''  / .li,〉 `´/.i::::::::l
  ( ¨\゙フ"ヘ   _ ヽ,ノ   ./イ-‐':ノ!
 /¨ ー''"7i ',  ヽ. ヽニ三ブ ,.イ/:::/::::i
  '¨ ̄n゙ヽ)!',  \`¨「 / トィ''"ヽ\ヘ,
  └ U ノ‐-、   `¨ リ  Vヘー─ト)V::\
  ,.ィ´ ̄ i ,レ   ---─‐// Y^\ ,レ _)、::::i
  /-一"ノ / '´  ̄¨゙/:/、 ヽ:::::\¨ヽ ∧ノ
     /) /     ,..:/  \ハ::::::::lノヽ i 

『M$ Excel』
 UNICODEのをぉぉ、UTF-8の読み込みを許可しろォォォォーーーーッ
 うおおおががががが だが!
 BOMなしは許可しないィィィィィーーーッ
 UTF-8(BOMなし)は許可しないィィィィィィィーーーッ!!」

CSVUTF-8(BOMなし)では文字化けするという話をきいたことがある。
しかしUTF-8(BOMあり)だと文字化けしないという。

            ,、‐ ''"  ̄ ``'' ‐- 、
        /イハ/レ:::/V\∧ド\
       /::^'´::::::::::::i、::::::::::::::::::::::::::::\
     ‐'7::::::::::::::::::::::::ハ:ハ::|ヽ:::;、::::::::::::丶        Excelは死ねばいいと思うよ
     /::::::::::::::/!i::/|/  ! ヾ リハ:|;!、:::::::l
    /´7::::::::::〃|!/_,,、   ''"゛_^`''`‐ly:::ト
      /|;ィ:::::N,、‐'゛_,,.\   ´''""'ヽ  !;K
        ! |ハト〈  ,r''"゛  ,       リイ)|
          `y't     ヽ'        //
         ! ぃ、     、;:==ヲ  〃
         `'' へ、   ` ‐ '゜   .イ
              `i;、     / l
                〉 ` ‐ ´   l`ヽ
            / !       レ' ヽ_
         _,、‐7   i|      i´   l `' ‐ 、_
     ,、-‐''"´  ノ,、-、 / 、,_ ,.、- {,ヘ  '、_    `ヽ、_
   / i    ,、イ ∨ l.j__,,、..-‐::-:;」,ハ、 '、` ‐、_   ,`ヽ
  /  l ,、‐'´ // ',/!:::::::::;、--ァ' /  `` ‐   `'7゛   ',
 /   l  i  ´  く   ';::::::l  / /         /     ',
/     ! l      \ ';:::l , '  /        i/     ',

UTF-8はBOMつけない方が正しいのに、なにしてるんですか、M$さん!!

そういえば、Visual Studio もそうでしたね。

Excelなんかに対応しなくちゃいけないのはそちら側であってこちら側ではないというのが重要ですよね。

XMLUTF-8(BOMなし)で出力にすればどうでしょうかね。
Excelもできるかも?できなければ、そうですね。なんかのソフトでBOMありに変換すればいいと思いますよ、僕はしりませんが。