Karşılaştığınız hatayı daha önce görmedim bir bilgim yok. Ancak kastettiğinizi anladım.
Sorunuzun kısa cevabı şu, bu karakterler oraya o şekilde yazılmadılar. Sadece yanlış yorumlandılar.
Meraklısı olduğunuz için biraz teknik konuşmamda sakınca yoktur sanırım.
Bildiğiniz üzere bilgisayar 1 ve 0'lar ile çalışır ve sorunuzun cevabı burada yatıyor.
Bilgisayar mühendisleri işlemciye belirli komutlar vermek, bellekteki bilgileri etkili şekilde depolamak ve kullanmak için teknikler kullanır.
Siz herhangi bir yere yazı yazdığınızda aslında arka tarafta belleğe ardışık olarak sayılar girer. Bu sayılar ikilik sistemde girilir yani 1 ve 0'lar kullanılır. Her sayı bir karaktere denk gelir. Örneğin ASCII tabloya bakabiliriz.

65 sayısı büyük A harfine denk geliyor. 65 bir sayı olduğu için ikilik sistemde yazmamız son derece basit. Bu sayede bilgisayar bunu belleğe, işlemciye ve diske taşıyabiliyor.
İşte bu sayıları harflerle eşleştirme işine biz character encoding diyoruz. Ancak yalnızca bir encoding türü yok. Eğer bir şekilde diskteki bilgiyi yanlış encoding ile okumaya kalkarsanız bitlerinizin kurallarında ve karakter tablonuzda uyuşmazlık çıkacaktır. Sonuç olarak bitleriniz yanlış yorumlanacaktır. Siz oraya X encoding türünde "elma" yazdıysanız Y enconding türünde okurken "asdadsada" okuyabilirsiniz.
Tabi hepsi ASCII kadar basit değiller daha kompleks kurallar da var. Başka örnekler daha vereyim. Meşhur enconding türlerinden birisi UTF-8'dir.

Bu encoding'e göre eğer okunan bir byte 0 ile başlarsa o zaman sonraki 7 bit okunur ve denk geldiği sayı tablodan bulunur.
Eğer okunan byte iki adet 1 ve 0 (110) ile başlıyorsa o zaman sonraki byte'ı da okur ve toplamda 2 byte uzunluğunda (yani ASCII tablodaki sayılardan daha uzun) bir sayı okumuş olur. Bu şekilde 4 byte'a kadar çıkabilir.
Daha çok byte, daha uzun sayı menzili demek. Bu da daha fazla karakteri temsil edebilmek demek.
İşte olay bundan ibaret. Bu yazılar oraya o şekilde yazılmadılar. Diskteki bilgiler aynı. Sorun, onu yorumlayan kısımda.
Kaynaklar
- Wikipedia. Ascii-Compatible Variable-Width Encoding Of Unicode, Using One To Four Bytes. (22 Kasım 2001). Alındığı Tarih: 23 Ocak 2024. Alındığı Yer: Wikipedia | Arşiv Bağlantısı