Asal kata mojibake
Mojibake (文字化け) berasal dari bahasa Jepang: “moji” berarti “huruf” atau “karakter”, dan “bake” berarti “berubah wujud”. Pada tahun 1990-an, komputer di Jepang memakai beberapa encoding sekaligus – Shift_JIS, EUC-JP dan ISO-2022-JP – sehingga e-mail dan halaman web yang kacau menjadi pemandangan sehari-hari. Istilah ini kemudian dipakai juga dalam bahasa Inggris dan di seluruh dunia teknologi.
Bagaimana mojibake terjadi
Komputer menyimpan teks sebagai byte, yaitu deretan angka. Encoding adalah aturan yang menentukan byte mana mewakili karakter mana. Dalam UTF-8, standar yang dipakai hampir semua situs dan aplikasi saat ini, huruf é disimpan sebagai dua byte C3 A9. Program yang membaca byte ini sebagai Windows-1252, encoding lama Windows untuk bahasa Barat, menampilkan satu karakter per byte: Ã untuk C3 dan © untuk A9.
Pada langkah ini tidak ada yang hilang – byte-nya masih ada, hanya dibaca dengan cara yang salah. Karena itu mojibake biasanya bisa dibatalkan: Mojibuster mengubah karakter yang salah kembali menjadi byte dan membacanya dengan benar.
Mojibake
Café José – promo ‘Nasi Goreng Spesial’ Rp25.000 😊
Diperbaiki
Café José – promo ‘Nasi Goreng Spesial’ Rp25.000 😊
Mojibake dalam teks bahasa Indonesia
Bahasa Indonesia ditulis tanpa huruf beraksen, jadi kalimat biasa sering tetap terbaca. Kerusakan baru terlihat pada karakter di luar huruf A–Z dasar:
- Tanda kutip dan apostrof dari Word atau ponsel:
’dan“– lihat tanda kutip dan apostrof rusak. - Tanda pisah dan elipsis:
–alih-alih–,…alih-alih…. - Emoji dari chat WhatsApp atau ulasan Shopee dan Tokopedia:
😊alih-alih 😊. - Nama asing dan merek seperti José, Nestlé atau Café:
éalih-alihé– semua pola ada di à sebagai pengganti huruf beraksen. - Simbol seperti
€untuk € atau°untuk °.
Mojibake dalam bahasa lain
- Jepang:
縺薙s縺ォ縺。縺ッalih-alihこんにちは– UTF-8 dibaca sebagai Shift_JIS. Selengkapnya di halaman bahasa Jepang. - Mandarin:
浣犲ソalih-alih你好– UTF-8 dibaca sebagai GBK. Dalam bahasa Mandarin disebut 乱码 (luànmǎ, “kode kacau”). - Rusia:
Приветalih-alihПривет– UTF-8 dibaca sebagai Windows-1251. Orang Rusia menyebutnya “krakozyabry”. - Hindi dan aksara India lainnya:
हिंदीalih-alihहिंदी– UTF-8 dibaca sebagai Windows-1252, sering terjadi di file CSV Excel. Lihat memperbaiki teks Hindi, Tamil dan Bengali (dalam bahasa Inggris). - Bahasa Barat:
ä,ñatau€alih-alihä,ñatau€– bentuk yang paling umum di seluruh dunia. - File lama berbahasa Mandarin, Jepang dan Korea dalam Big5, GBK atau Shift_JIS bisa diubah ke UTF-8 (dalam bahasa Inggris).
Penyebab umum
- Excel membuka file CSV UTF-8 tanpa BOM sebagai ANSI, misalnya ekspor pesanan dari marketplace atau aplikasi akuntansi: karakter aneh di Excel dan memperbaiki encoding CSV.
- Koneksi database memakai
latin1padahal datanya UTF-8: WordPress & database (dalam bahasa Inggris). - Situs web atau e-mail mencantumkan
charsetyang salah – untuk e-mail, lihat panduan Outlook (dalam bahasa Inggris). - Subtitle disimpan dalam code page lama: subtitle huruf aneh.
- Teks yang sudah rusak dikonversi sekali lagi – mojibake ganda seperti
é: memperbaiki karakter UTF-8.
Apakah mojibake selalu bisa diperbaiki?
Hampir selalu, selama byte-nya masih utuh. Perbaikan menjadi mustahil kalau sebuah program sudah mengganti karakter dengan ? atau karakter pengganti � – informasi aslinya sudah hilang. Mojibuster memperbaiki semua yang masih bisa diperbaiki dan memberi tahu berapa bagian yang hilang. Selengkapnya: tanda tanya pengganti huruf.
Cara mencegah mojibake
- Simpan file sebagai UTF-8 – file CSV untuk Excel sebagai UTF-8 with BOM.
- Cantumkan encoding-nya:
<meta charset="utf-8">di HTML,utf8mb4di MySQL dan MariaDB. - Konversi teks hanya sekali, di batas antara dua sistem.
- Saat mengimpor, pilih encoding secara eksplisit alih-alih membiarkan program menebak.
Pertanyaan yang sering diajukan
Bagaimana cara mengucapkan mojibake?
Kira-kira “mo-ji-ba-ke”, keempat suku kata diucapkan jelas – mirip cara membaca kata dalam bahasa Indonesia.
Apakah file saya rusak atau terkena virus?
Tidak. Mojibake adalah masalah tampilan, bukan virus, dan biasanya tidak ada data yang hilang. File hanya dibaca dengan encoding yang salah.
Apa bedanya mojibake dengan �?
Mojibake seperti é masih menyimpan byte aslinya dan bisa diperbaiki. Karakter � berarti sebuah program tidak bisa membaca suatu byte lalu menggantinya – karakter itu sudah hilang.
Kenapa teks bahasa Indonesia saya hanya rusak di beberapa tempat?
Karena huruf A–Z dasar sama di hampir semua encoding. Yang berubah hanya karakter khusus seperti tanda kutip melengkung, tanda pisah, emoji dan huruf beraksen pada nama asing.
Apakah teks saya diunggah?
Tidak. Mojibuster memperbaiki teks di browser Anda. Teks tidak dikirim dan tidak disimpan.