エクセルで普通にutf-8のcsvを開くときの問題
- utf-8形式をshift_jisで読み込もうとするので日本語系がバグる
解決方法
- BOMを指定してutf-8であることを指定する
BOMとは
- Byte Order Maskの略
- テキストデータの先頭数バイトのデータのこと
- これによってプログラムはテキストがなんの文字コードであるかを判別している
- utf-8の場合は先頭3byteが
0xEF 0xBB 0xBF
になっている
Scalaでやる
import java.nio.charset.StandardCharsets.UTF_8 val texts: List[Byte] = ... // なんかのテキストデータのbyte列 val utf_8texts = "\uFEFF".getBytes(UTF_8) ++ texts // BOMが指定されたtext byte列
View Comments