Primeiro, adicione os bytes ef bb bf
(U + FEFF codificado em UTF-8) ao início do arquivo. É a marca de ordem de bytes, que foi inventada para o UTF-16 e não faz muito sentido para o UTF-8, embora alguns programas dependam disso.
$ (echo ef bb bf; xxd -p file.csv) | xxd -r -p > file.csv.new
C:\> (echo ef bb bf & xxd -p file.csv) | xxd -r -p > file.csv.new
Em seguida, converta as terminações de linha Unix (LF 0a
) no formato Windows (CR LF 0d 0a
).
$ unix2dos file.csv
or: $ todos file.csv
or: $ sed "s/$/\r/" file.csv > file.csv.new
Como você tem xxd
, presumo que você também tenha o Vim. Você pode fazer isso no Vim abrindo o arquivo e usando:
:set bomb ff=dos
:w