Panduan

Karakter Aneh di File CSV? Ini Penyebab dan Cara Memperbaikinya

Oleh tim Opener5 menit baca

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:

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:

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.