Karakter Aneh di File CSV? Ini Penyebab dan Cara Memperbaikinya
Karakter aneh seperti “é” atau “Сума” berarti CSV disimpan dengan satu encoding teks lalu dibuka seolah-olah memakai encoding lain — hurufnya masih ada di dalam file, hanya saja diterjemahkan dengan cara yang salah. Buka dengan encoding yang benar (Penampil CSV mendeteksinya otomatis) dan simpan salinan dalam UTF-8. Tanda tanya (“????”) lain ceritanya: biasanya itu berarti huruf-hurufnya sudah hilang saat file ditulis.
Apa itu encoding, dalam satu menit
File CSV adalah teks biasa, dan di disk teks hanyalah deretan angka (byte). Encoding adalah tabel yang menentukan angka mana berarti huruf apa. Untuk huruf Latin dasar dan angka, hampir semua encoding sepakat, itulah sebabnya angka di ekspor bank Anda terlihat normal sementara nama dan keterangan berubah menjadi karakter acak.
Tiga encoding yang akan Anda temui di ekspor dari software akuntansi dan bank:
- UTF-8 — standar modern. Bisa menyimpan semua alfabet dalam satu file. Huruf di luar huruf Inggris dasar memakai dua byte atau lebih per huruf.
- Windows-1251 — encoding satu byte yang lebih lama untuk aksara Kiril (Ukraina, Rusia, Bulgaria, Serbia). Banyak program akuntansi lama masih mengekspor dengan encoding ini.
- Windows-1252 — encoding satu byte yang lebih lama untuk bahasa-bahasa Eropa Barat: é, ü, ñ, ø, €, dan seterusnya.
File itu sendiri biasanya tidak menyebutkan encoding yang dipakainya. Program yang membukanya harus menebak, dan kalau tebakannya salah, Anda mendapat mojibake — istilah teknis untuk teks kacau seperti ini.
Membaca karakter acak: arti setiap pola
Jenis karakter acaknya adalah petunjuk tentang apa yang salah.
| Yang Anda lihat | Yang seharusnya | Yang terjadi |
|---|---|---|
é, ü, € |
é, ü, € | File UTF-8 dibuka sebagai Windows-1252 |
Сума (banyak Ð dan Ñ) |
Сума | Teks Kiril UTF-8 dibuka sebagai Windows-1252 |
Ñóìà (huruf Latin beraksen) |
Сума | File Windows-1251 dibuka sebagai Windows-1252 |
Cafй |
Café | File Windows-1252 dibuka sebagai Windows-1251 |
� (belah ketupat hitam berisi ?) |
huruf apa pun | File dengan encoding lama dibuka sebagai UTF-8 |
???? |
huruf apa pun | Huruf hilang saat file disimpan |
Pasangan seperti “Ô + sesuatu atau “Д/“Ñ” + sesuatu adalah sidik jari UTF-8 yang dibaca sebagai encoding lama: setiap huruf non-Inggris memakai dua byte di UTF-8, dan tabel lama menampilkan setiap byte sebagai simbol terpisah. Ini kabar baik — tidak ada yang hilang, dan membuka file sebagai UTF-8 akan memperbaikinya.
Tanda tanya biasa adalah kabar buruk. Tanda ini biasanya muncul ketika sebuah program mencoba menyimpan teks dalam encoding yang tidak punya tempat untuk huruf-huruf tersebut (misalnya teks Kiril ke Windows-1252) dan mengganti setiap huruf itu dengan ?. Huruf aslinya sudah tidak ada di file, dan tidak ada penampil yang bisa mengembalikannya. Solusinya adalah mengekspor ulang dari sistem sumber, dengan memilih UTF-8 atau encoding regional yang benar jika dialog ekspor menyediakannya.
BOM: kenapa Excel salah membaca UTF-8
File UTF-8 bisa diawali tiga byte tak terlihat yang disebut byte order mark (BOM). BOM adalah petunjuk yang menyatakan “file ini UTF-8”.
Saat Anda mengklik dua kali CSV, Excel sangat bergantung pada petunjuk itu. Dengan BOM, Excel biasanya membaca UTF-8 dengan benar; tanpa BOM, Excel sering mengira file memakai encoding lama komputer Anda — dan persis begitulah ekspor UTF-8 dari bank yang sebenarnya baik-baik saja berubah menjadi “Сума”. Program lain bekerja sebaliknya dan menampilkan BOM sebagai karakter sampah seperti  di awal judul kolom pertama. Jika Anda melihatnya, file itu UTF-8 dan BOM-nya ditampilkan sebagai teks.
Solusi 1: buka dengan deteksi otomatis
Cara tercepat adalah membiarkan alat mendeteksi encoding untuk Anda. Penampil CSV Opener mencoba UTF-8 terlebih dahulu lalu beralih ke Windows-1251 atau Windows-1252 sesuai isi teksnya, sehingga nama dan keterangan tampil dengan benar tanpa wizard impor. Penampil ini juga mendeteksi pemisahnya — koma, titik koma, tab, atau garis tegak.
File dibaca di browser Anda dan tidak diunggah ke mana pun, hal yang penting untuk data gaji, faktur, dan rekening koran. Untuk memperbaiki file agar bisa dipakai program lain, gunakan tombol ekspor: Anda mendapat salinan tabel dalam UTF-8 yang bersih (sesuai tampilan saat ini, jadi kosongkan pencarian dulu jika Anda ingin semua baris). Jika masalah Anda adalah semua data menumpuk di satu kolom, bukan huruf yang kacau, lihat kenapa CSV terbuka dalam satu kolom.
Solusi 2: impor di Excel dengan “File origin” yang benar
Jangan klik dua kali file-nya. Sebagai gantinya, buka workbook kosong dan gunakan impor “From Text/CSV” di tab Data. Jendela pratinjau punya daftar File origin tempat Anda memilih encoding:
- 65001: Unicode (UTF-8) untuk file yang menampilkan
éatauСума; - opsi Cyrillic (Windows), 1251, untuk ekspor Kiril yang lebih lama;
- opsi Western European (Windows), 1252, untuk ekspor Eropa Barat yang lebih lama.
Ganti-ganti pilihannya sambil memperhatikan pratinjau — begitu nama-nama terlihat benar, Anda sudah menemukan yang tepat. Lalu muat datanya. Jika file perlu dikirim lagi, simpan dari Excel dengan jenis file “CSV UTF-8”, bukan “CSV” biasa, yang bisa kembali memakai encoding lama.
Solusi 3: Google Sheets, LibreOffice, atau editor teks
Google Sheets. Mengimpor CSV ke Google Sheets (File → Import) berjalan baik untuk file UTF-8, dan dialog impornya memungkinkan Anda memilih pemisah. Cara ini kurang bisa diandalkan untuk file dengan encoding lama: jika ekspor Windows-1251 atau Windows-1252 masih menampilkan huruf kacau, ubah dulu ke UTF-8 dengan salah satu cara lain, lalu impor salinan itu.
LibreOffice Calc. Saat Anda membuka CSV, LibreOffice menampilkan dialog impor teks dengan daftar Character set. Pilih Unicode (UTF-8), Cyrillic (Windows-1251), atau Western Europe (Windows-1252), dan pratinjaunya langsung berubah. Gratis dan berjalan di Windows, macOS, dan Linux.
Editor teks. Editor seperti Notepad di Windows, TextEdit di macOS, atau editor kode seperti VS Code memungkinkan Anda memilih encoding saat menyimpan. Catatannya: editor harus membuka file dengan encoding yang benar terlebih dahulu. Jika teks terlihat benar di editor, simpan sebagai UTF-8. Jika di sana pun sudah terlihat kacau, menyimpannya hanya akan mengawetkan kekacauan itu — buka ulang dengan encoding yang benar dulu.
Pertanyaan yang sering diajukan
Bisakah saya memperbaiki “????” di CSV saya?
Biasanya tidak. Tanda tanya berarti karakternya sudah diganti saat file ditulis, jadi huruf aslinya tidak ada di file. Ekspor ulang dari software akuntansi atau bank, dan pilih UTF-8 jika memungkinkan.
Encoding apa yang sebaiknya saya pakai saat menyimpan atau mengekspor?
UTF-8. Encoding ini bisa menyimpan semua alfabet dan dipahami oleh setiap program modern. Jika rekan kerja membukanya dengan klik dua kali di Excel, gunakan opsi “CSV UTF-8” di Excel agar file diawali BOM.
Apakah mengganti encoding akan mengubah angka saya?
Tidak. Angka, titik, dan koma sama di UTF-8, Windows-1251, dan Windows-1252, jadi nominal dan tanggal tidak terpengaruh. Hanya huruf di luar huruf Inggris dasar yang berubah.
Amankah memperbaiki ekspor bank secara online?
Hanya jika alatnya tidak mengunggah file. Penampil CSV mendekode dan mengekspor file sepenuhnya di browser Anda, jadi rekening koran Anda tidak pernah keluar dari perangkat.