Saya sudah mencoba mencari solusi / penjelasan yang masuk akal (tidak berhasil) untuk mencari tahu mengapa Excel default menghapus BOM saat menyimpan file ke tipe CSV.
Tolong maafkan saya jika Anda menganggap ini duplikat dari pertanyaan ini . Ini menangani pembacaan file CSV dengan penyandian non-ASCII, tetapi tidak mencakup menyimpan kembali file (yang merupakan masalah terbesar).
Inilah situasi saya saat ini (yang akan saya kumpulkan adalah umum di antara perangkat lunak lokal yang berurusan dengan karakter Unicode dan format CSV):
Kami mengekspor data ke format CSV menggunakan UTF-16LE, memastikan BOM diatur (0xFFFE). Kami memvalidasi setelah file dibuat dengan Hex editor untuk memastikan itu diatur dengan benar.
Buka file dalam Excel (untuk contoh ini kami mengekspor karakter Jepang) dan saksikan bahwa Excel menangani memuat file dengan penyandian yang benar.
Upaya untuk menyimpan file ini akan meminta Anda dengan pesan peringatan yang menunjukkan bahwa file tersebut mungkin berisi fitur yang mungkin tidak kompatibel dengan pengkodean Unicode, tetapi menanyakan apakah Anda tetap ingin menyimpannya.
Jika Anda memilih dialog Simpan Sebagai, ia akan segera meminta Anda untuk menyimpan file sebagai "Teks Unicode" daripada CSV. Jika Anda memilih ekstensi "CSV" dan menyimpan file itu menghapus BOM (jelas bersama dengan semua karakter Jepang).
Mengapa ini terjadi? Apakah ada solusi untuk masalah ini, atau ini dikenal sebagai 'bug' / pembatasan Excel?
Selain itu (sebagai masalah tambahan), tampaknya Excel, saat memuat file CSV yang disandikan UTF-16LE, hanya menggunakan pembatas TAB. Sekali lagi, apakah ini dikenal sebagai 'bug' / batasan Excel?