1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WinやMacでの文字化けでもう悩まない(Macの人向け)

Posted at

経緯

データ分析をMacでやると、データを保存する際のcsvの文字コードが基本的にUTF-8になる。
PandasでもよくUTF-8で保存していたがデータを渡す相手がWindows(SJIS)のことが多々あり、UTF-8なのにSJISで開こうとして文字化けが起こり、変換の手間がかかっていたので根本解決できないものか調べた。

結論

UTF-8-SIG(BOM付きUTF-8)を使ってください。
BOMがあるのでWindowsでも文字化けせずに開けます。

簡単な変換方法

VSCode使う

ファイルを開くと右下に文字コードが表示される(添付画像赤枠)

スクリーンショット 2025-02-13 10.26.18.png

そこをクリックすると「エンコード付きで再度開く」と「エンコード付きで保存」が選べるので、そこで「エンコード付きで保存」を選択

保存形式は「UTF-8 with BOM」を選択

PythonのPandasで変換(csv)

UTF-8 -> UTF-8-SIG

import pandas as pd
file = '/hogehoge/fugafuga.csv' # ここ書き換えて
csv_df = pd.read_csv(file)
csv_df.to_csv('./utf-8-sig_file.csv', encoding='utf-8-sig', index=False)

UTF-8のBOM付きかどうか確認する方法

ファイルの先頭にUTF-8のBOM(EF BB BF)があればOK

他の文字コードだとEF BB BFじゃないらしい

 $head -c 3 file.csv | xxd -p
 efbbbf
1
1
2

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?