LoginSignup
24
20

More than 5 years have passed since last update.

UTF-8 な CSV を Excel が読めるように先頭 BOM をつけるシェルスクリプト

Last updated at Posted at 2016-09-16

こんな感じのを用意した。

超単純

#!/usr/bin/env bash
printf '\xef\xbb\xbf'
exec cat

なんとなく bomber というファイル名にして実行可能にし、パスを通した。

$ cat > ~/.bin/bomber << 'EOF'
#!/usr/bin/env bash
printf '\xef\xbb\xbf'
exec cat
EOF
$ chmod +x ~/.bin/bomber

使い方

ごく単純。

$ bomber < example.before.utf8.csv > example.after.utf8.csv

背景

(日本語環境の) Excel は BOM がなければ CP932 エンコーディングで CSV ファイルを読もうとする。
BOM アリだとちゃんと判別できる。
親切なブラウザのように、勝手に判定してはくれない。

Wikipedia: バイトオーダーマーク

注意

はっきりとしたバージョンはわからないが Excel 2007 などの古い Excel 環境では、この方法でも文字化けせずに開く事はできない。

24
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
20