Mojibake nedir?

Mojibake, metindeki harflerin ÅŸ, ı ya da ÄŸ gibi anlamsız karakterlere dönüşmesidir. Metin bir kodlamayla kaydedilip başka bir kodlamayla okunduğunda ortaya çıkar ve çoğu zaman tamamen düzeltilebilir. Denemek için bozuk bir metni aşağıya yapıştırın.

Metinle ve şu dosyalarla çalışır:

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

Örneğin Excel dışa aktarımları, veritabanı yedekleri, altyazılar veya web sitesi kodu.

Düzelt

  1. Bir dosya bırakın veya metni yapıştırın
  2. Düzeltme otomatik yapılır
  3. Kopyalayın veya indirin
ya da bir dosyayı buraya sürükleyin
  • Dosya yükleme yok. Dosyalarınız doğrudan tarayıcınızda düzeltilir ve cihazınızdan asla çıkmaz.

  • AB’de sunucular. Mojibuster, Finlandiya’daki (AB) bir sunucuda çalışır; Genel Veri Koruma Tüzüğü (GDPR) geçerlidir. GDPR metni (EUR-Lex)

Kelime nereden geliyor?

Mojibake (文字化け) Japonca bir kelimedir: “moji” karakter, “bake” dönüşüm anlamına gelir. 1990’larda Japon bilgisayarları Shift_JIS, EUC-JP ve ISO-2022-JP gibi birkaç kodlamayı aynı anda kullanıyordu; bozuk görünen e-postalar ve web sayfaları gündelik bir manzaraydı. Kelime oradan İngilizceye ve tüm dünyaya yayıldı. Türkçede aynı soruna genellikle “Türkçe karakter sorunu” ya da “bozuk karakter” denir.

Mojibake nasıl oluşur?

Bilgisayarlar metni bayt olarak saklar. Kodlama, hangi baytın hangi karaktere karşılık geldiğini belirler. UTF-8’de ş harfi iki bayt olarak saklanır: C5 9F. Bu baytları Windows-1252 ya da Windows-1254 olarak okuyan bir program her bayt için ayrı bir karakter gösterir: C5 için Å, 9F için Ÿ. Sonuç: ÅŸ.

Bu adımda hiçbir şey kaybolmaz – baytlar hâlâ yerindedir, yalnızca yanlış okunmuştur. Bu yüzden mojibake çoğu zaman geri alınabilir: Mojibuster yanlış karakterleri yeniden bayta çevirir ve doğru kodlamayla okur.

Windows-1252 olarak okunan UTF-8 metin

Mojibake

Güneşli bir gün, ağaçlar ışıl ışıl – çarşamba görüşürüz

Düzeltilmiş

Güneşli bir gün, ağaçlar ışıl ışıl – çarşamba görüşürüz

Türkçeye özgü ikinci hata: ð, ý, þ

Türkçe metinlerde başka bir hata da sık görülür: Windows-1254 (Türkçe ANSI) ile kaydedilmiş bir dosya Batı Avrupa ayarlarıyla açıldığında ğ, ı, ş harfleri ð, ý, þ olarak görünür – örneğin Ýstanbul ya da þehir. Bu hata özellikle eski altyazı dosyalarında yaygındır: altyazı Türkçe karakter sorunu. Mojibuster bu harfleri de tanır ve düzeltir.

Diğer dillerde mojibake

  • Japonca: こんにちは yerine 縺薙s縺ォ縺。縺ッ – Shift_JIS olarak okunan UTF-8. Ayrıntılar Japonca sayfada.
  • Çince: 你好 yerine 浣犲ソ – GBK olarak okunan UTF-8. Çincede buna 乱码 (luànmǎ, “karışık kod”) denir.
  • Rusça: Привет yerine Привет – Windows-1251 olarak okunan UTF-8. Ruslar buna “krakozyabry” der.
  • Batı dilleri: é, ñ ya da € yerine é, ñ ya da € – dünyada en sık görülen biçim.

Tipik nedenler

Mojibake her zaman düzeltilebilir mi?

Baytlar sağlam kaldığı sürece neredeyse her zaman. Bir program harfleri ? ya da yerine koyma karakteri � ile değiştirdiyse düzeltme mümkün değildir – özgün bilgi artık yoktur. Mojibuster düzeltilebilen her şeyi düzeltir ve kaç yerin kaybolduğunu size söyler.

Mojibake nasıl önlenir?

  • Dosyaları UTF-8 olarak kaydedin; Excel için CSV dosyalarını CSV UTF-8 (Virgülle ayrılmış) biçiminde.
  • Kodlamayı belirtin: HTML’de <meta charset="utf-8">, MySQL ve MariaDB’de utf8mb4.
  • Metni yalnızca bir kez, iki sistemin sınırında dönüştürün.
  • İçe aktarırken kodlamayı programın tahminine bırakmayın, kendiniz seçin.

Sık sorulan sorular

Mojibake nasıl okunur?

Yaklaşık “mo-ci-ba-ke” diye, dört hece olarak okunur. Japonca bir kelime olduğu için belirgin bir vurgusu yoktur.

Dosyam bozuldu mu, virüs mü var?

Hayır. Mojibake bir görüntüleme sorunudur; virüs değildir ve çoğu zaman veri kaybı da yoktur. Dosya yalnızca yanlış kodlamayla okunmuştur.

Mojibake ile � arasındaki fark nedir?

ÅŸ gibi mojibake hâlâ özgün baytları içerir ve düzeltilebilir. � karakteri ise bir programın bir baytı okuyamayıp yerine koyduğu işarettir – o harf kaybolmuştur.

Metnim bir sunucuya yükleniyor mu?

Hayır. Mojibuster metni tarayıcınızda düzeltir. Metin ne aktarılır ne de saklanır.

Diğer rehberler