Tanda tanya pengganti huruf: arti ? dan �

Alih-alih é, ’ atau emoji, teks Anda menampilkan ? atau simbol �? Keduanya mirip, tetapi penyebabnya berbeda. Sering kali filenya masih baik-baik saja – kadang karakternya sudah hilang. Begini cara mengetahui kasus mana yang Anda alami.

Bisa untuk teks dan file berikut:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Misalnya ekspor Excel, dump database, subtitle, atau kode situs web.

Perbaiki

  1. Letakkan file atau tempel teks
  2. Langsung diperbaiki otomatis
  3. Salin atau unduh
atau seret file ke sini
  • Tanpa upload. File Anda diperbaiki langsung di browser dan tidak pernah meninggalkan perangkat Anda.

  • Server di Uni Eropa. Mojibuster berjalan di server di Finlandia (Uni Eropa), sehingga berlaku Peraturan Perlindungan Data Umum (GDPR). Baca GDPR (EUR-Lex, dalam bahasa Inggris)

Kasus 1: � di file yang sebenarnya baik-baik saja

Jika editor, pemutar video atau browser menampilkan Caf�, biasanya file disimpan dalam Windows-1252 (ANSI) lalu dibaca sebagai UTF-8. Byte huruf beraksen tidak sah dalam UTF-8, sehingga program menyisipkan karakter pengganti � saat menampilkan teks. File itu sendiri masih berisi byte yang benar.

Solusi: Letakkan file aslinya di kotak di atas. Mojibuster mengenali encoding saat membaca dan mengonversi file ke UTF-8. Penting: gunakan filenya langsung, jangan menyalin teks dari program tersebut – menyalin membuat � menjadi permanen.

Kasus 2: � atau ? tersimpan di dalam teks

Jika sebuah program menyimpan atau meneruskan teks bersama karakter pengganti, karakter aslinya sudah hilang. Hal yang sama berlaku untuk ?: program menyisipkannya saat sebuah karakter tidak ada di encoding tujuan – misalnya saat menyimpan sebagai ASCII atau menulis ke kolom database yang tidak mengenal é.

Dari situ tidak ada yang bisa dihitung balik, karena setiap huruf beraksen sudah menjadi karakter yang sama. Daripada menebak, Mojibuster memberi tahu berapa banyak tempat yang terdampak. Hanya sumbernya yang bisa membantu: ulangi ekspor atau gunakan cadangan.

Emoji yang berubah menjadi ??

Emoji seperti 😊 atau 🙏 memakai empat byte dalam UTF-8 dan tidak ada di encoding lama mana pun. Di ekspor dari sistem kasir, CRM atau database lama, setiap emoji sering berubah menjadi ?? atau ????. Ini termasuk kasus 2: emojinya sudah dibuang saat ekspor dan tidak bisa dikembalikan. Penyebab yang sering: tabel MySQL dengan set karakter utf8 (yang hanya mendukung tiga byte) alih-alih utf8mb4.

Lain halnya jika emoji muncul sebagai 😊 atau karakter aneh sejenis yang diawali ð. Itu masih kasus salah baca, dan Mojibuster bisa mengembalikan emojinya.

Penyebab umum tanda tanya

  • Database: kolom atau koneksi memakai latin1 atau ascii, sementara data datang sebagai UTF-8. MySQL lalu mengganti karakter yang tidak dikenal dengan ? – lihat MySQL dan phpMyAdmin (dalam bahasa Inggris).
  • PowerShell 5.1: Export-Csv secara default menulis ASCII dan mengganti huruf beraksen dengan ? – lihat PowerShell (dalam bahasa Inggris).
  • Python: encode('ascii', errors='replace') diam-diam mengganti karakter dengan ? – lihat Python dan pandas (dalam bahasa Inggris).
  • Konsol: konsol Windows menampilkan karakter yang tidak dikenal code page-nya sebagai ?. Biasanya hanya tampilannya yang salah, bukan filenya.
  • Excel: menyimpan dengan Save As sebagai CSV biasa (bukan CSV UTF-8) bisa mengubah emoji dan karakter khusus menjadi ? – lihat karakter aneh di Excel.

Cara mengetahui kasus mana yang Anda alami

  1. Buka file di editor yang menampilkan encoding, seperti Notepad++ (dalam bahasa Inggris). Jika bilah status menunjukkan “ANSI” atau “Windows-1252”, itu kasus 1.
  2. Letakkan file di Mojibuster. Jika hasilnya menyebut “Dibaca sebagai Windows-1252 (ANSI)” dan karakternya kembali, itu kasus 1.
  3. Jika Mojibuster melaporkan karakter yang hilang, itu kasus 2. Hanya ekspor baru yang bisa membantu.

Jika Anda melihat urutan seperti é alih-alih tanda tanya, itu kesalahan lain – dan hampir selalu bisa diperbaiki: é pengganti é. Untuk ’ dan sejenisnya, lihat apostrof dan tanda kutip yang rusak. Latar belakangnya dijelaskan di apa itu mojibake.

Pertanyaan yang sering diajukan

Bisakah Mojibuster mengubah ? kembali menjadi huruf?

Tidak. Sebuah ? bisa mewakili huruf apa saja, informasinya sudah hilang. Mojibuster tidak menyentuh tempat-tempat seperti itu, tetapi memberi tahu berapa jumlahnya.

Kenapa saya melihat � di satu program, tetapi tidak di program lain?

Berarti filenya baik-baik saja, dan hanya salah satu program yang membacanya dengan encoding yang salah. Konversikan ke UTF-8 dengan Mojibuster, dan keduanya akan menampilkannya dengan benar.

Apa itu karakter �?

Itu karakter pengganti U+FFFD. Program menyisipkannya saat tidak bisa membaca sebuah byte sebagai karakter. Simbol ini menandakan kesalahan encoding dan bukan bagian dari teks yang sebenarnya.

Bisakah emoji yang sudah menjadi ?? dikembalikan?

Tidak dari file itu sendiri. Ulangi ekspor dari sumber yang menyimpan emoji dengan benar, misalnya setelah database diubah ke utf8mb4, atau gunakan cadangan.

Panduan lainnya