Dışa Aktarılan Günlük Dosyasındaki Bozuk Emojiler Nasıl Teşhis Edilir?
Dışa aktarılan bir günlükte emojiler bozuk görünüyorsa, öncelikle karakterlerin yanlış bir kodlamayla mı çözüldüğünü, dışa aktarma sırasında mı değiştirildiğini yoksa doğru şekilde çözülmesine rağmen uygulama veya yazı tipi tarafından mı görüntülenemediğini belirleyin. Dosyanın bir kopyası üzerinde çalışın, orijinal baytları koruyun ve aynı metni düz metin düzenleyicide ve günlük içe aktarıcısında karşılaştırın. Kodlama ayarını değiştirmek kod çözme uyumsuzluğunu düzeltebilir; ancak daha önce değiştirilmiş veya kaldırılmış bilgileri geri getiremez.
“Bozuk” görüntünün neye benzediğini tanımlayın
Etkilenen bir girdiyi yakından inceleyin. 😀 olması gereken yerde `😀` gibi beklenmeyen bir karakter dizisinin bulunması, UTF-8 baytlarının farklı bir kodlama kullanılarak yorumlandığını gösterebilir. Bu durum genellikle mojibake olarak adlandırılır: görüntülenen karakterler yanlıştır çünkü baytlar yanlış varsayımlar altında çözülmüştür. Bu bir ipucudur, dosyanın hangi kodlamayla oluşturulduğunun kesin kanıtı değildir.
Görünür bir `` karakteri ise farklıdır. Bu, Unicode'un yorumlanamayan bir karakterin yerine kullandığı U+FFFD değiştirme karakteridir (replacement character). Unicode'un [sözlüğü](https://www.unicode.org/glossary/#replacement_character) bunu bir değiştirme glifinden (replacement glyph) ayırır: bir yazı tipi veya işleyici bir karakteri çizemediğinde bir kutu gösterebilir, ancak altta yatan karakter hâlâ sağlam olabilir. Yalnızca bazı emojiler kutu olarak görünüyorsa, dosyanın kodlamasını değiştirmeden önce güncel başka bir uygulamayı veya yazı tipini kontrol edin.
Sorun gidermeden önce bir referans noktası koruyun
Dışa aktarılan dosyanın bir kopyasını alın ve orijinali değiştirmeden saklayın. Dosya uzantısını, dosyayı dışa aktaran uygulamayı ve etkilenen bir ifadede ne gördüğünüzü kaydedin. Mümkünse, günlükteki bilinen bir emojiyi kaynak uygulamadaki veya önceki bir dışa aktarımdaki aynı girdiyle karşılaştırın. Tek kopyayı tekrar tekrar açıp kaydetmekten kaçının: bir metin düzenleyici yeni çözülen metni bayt olarak geri yazabilir ve geri alınabilir bir görüntüleme denemesini kalıcı hale getirebilir.
Kopyayı, kodlama seçmenize olanak tanıyan bir düzenleyicide düz metin olarak açın. Öncelikle günlük uygulamasının belgelerinde belirtilen kodlamayı deneyin; bilinmiyorsa ve dosya tipik bir modern metin dışa aktarımıysa, UTF-8 incelemek için makul bir adaydır, orijinalin üzerine kaydedilecek kesin bir varsayım değildir. Her aday kodlama altında etkilenen metni ve çevresindeki sıradan karakterleri karşılaştırın. Dosya genelinde tutarlı bir sonuç, tesadüfen doğru görünen bir emojiden daha güçlü bir kanıttır.
Yeniden yazmadan kod çözmeyi test edin
Düzenleyicinin kodlama görünümünü değiştirmek garip dizinin beklenen emojiye dönüşmesini sağlıyorsa ve çevresindeki metin de okunabilir hale geliyorsa, dışa aktarım yanlış yorumlanmış sağlam baytlar içeriyor olabilir. Kopyayı kaydetmeden kapatıp umut verici ayarla yeniden açarak bunu doğrulayın. Ardından, günlük uygulamasının içe aktarma veya açma iş akışının belgelenmiş bir kodlama seçeneği sunup sunmadığını kontrol edin; gerçek bir yeniden içe aktarma için bu iş akışını tercih edin.
[Unicode UTF SSS](https://www.unicode.org/faq/utf_bom.html) sayfası, hatalı biçimlendirilmiş UTF-8 bayt dizilerinin bir hatayı tetikleyebileceğini veya U+FFFD gibi bir işaretçiyle ele alınabileceğini açıklar. Bu, bir kod çözücünün geçersiz girdiyi görüntülerken veya içe aktarırken zaten değiştirmiş olabileceği anlamına gelir. Bu adımdan sonra kodlamayı değiştirmek orijinal baytları mutlaka kurtarmaz. Tek kopyanız üzerinde, kodu çözülemeyen karakterleri sessizce değiştiren “onarım” veya dönüştürme seçeneklerini kullanmayın.
Kodlama sorunlarını eksik gliflerden ayırt edin
Emoji başka bir görüntüleyicide doğru şekilde görünüyorsa, dosyayı değiştirmeden önce bu karşılaştırmayı bir kanıt olarak saklayın. Dışa aktarılan dosyayı yalnızca görünümünü değiştirmek için yeniden yazmaktan kaçının.
Aynı konum farklı görüntüleyicilerde U+FFFD veya doğrudan bir soru işareti içeriyorsa, kaynak günlükle veya daha önceki bir dışa aktarımla karşılaştırın. Dosyada saklanan bir yedek karakter, yazı tipi değiştirilerek geri yüklenemez. Kurtarma işlemi, karakteri muhafaza eden başka bir kopyanın bulunmasına bağlıdır.
CSV ve JSON'ı farklı içe aktarma yolları olarak ele alın
Bir `.csv` uzantısı hangi karakter kodlamasının kullanıldığını belirtmez ve e-tablo programları kendi içe aktarma ayarlarını uygulayabilir. Masaüstü Excel için Microsoft, [metin ve CSV içe/dışa aktarma kılavuzunda](https://support.microsoft.com/en-us/excel/get-started/import-or-export-text-txt-or-csv-files) **Veri > Metinden/CSV'den** yoluyla ve Metin İçe Aktarma Sihirbazı ile metin içe aktarmayı açıklar. Yüklemeden önce önizlemeyi kullanın: emojiyi, satır ve sütun sınırlarını ve bitişik metni doğrulayın. Doğru bir önizleme, seçilen içe aktarma yolunun dosyayı amaçlandığı gibi okuduğunun kanıtıdır; kaynağın üzerine yazmak için bir neden değildir.
JSON için dosyayı koruyun ve CSV gibi ele almak yerine JSON duyarlı bir içe aktarıcı kullanın. [RFC 8259 JSON belirtimi](https://www.rfc-editor.org/rfc/rfc8259#section-8.1), kapalı bir ekosistem dışındaki sistemler arasında alınıp verilen JSON için UTF-8'i zorunlu kılar. Ayrıca JSON dizelerinin karakterleri doğrudan veya kaçış dizileriyle temsil edebileceğini açıklar. `\u263A` gibi bir kaçış dizisi görmek otomatik olarak bir bozulma anlamına gelmez; bir JSON ayrıştırıcısı geçerli kaçış dizilerini yorumlamalıdır. JSON geçersizse veya içe aktarıcı bir ayrıştırma hatası bildirirse, noktalama işaretlerini veya baytları tahmin yürüterek düzenlemek yerine durun ve dosyanın tam halini koruyun.
Tekrar deneme, yeniden dışa aktarma veya durma kararı verin
Şu sırayı izleyin: (1) kaynak günlüğü dışa aktarılan dosyayla karşılaştırın; (2) beklenen kodlamayı ve uygunsa bir UTF-8 görünümünü kullanarak bir kopyayı inceleyin; (3) eksik glif davranışı için başka bir görüntüleyiciyi kontrol edin; (4) dosyayı doğru CSV veya JSON içe aktarıcısı aracılığıyla önizleyin; ve (5) kaynak emoji hâlâ doğru görüntülüyorsa, belgelenmiş bir metin kodlamasıyla dışa aktarmayı yeniden deneyin. Her seferinde tek bir değişkeni değiştirin ve her sonucu ayrı tutun.
Hiçbir görünüm veya içe aktarıcı orijinal karakteri ortaya çıkarmıyorsa ve dosya yalnızca değiştirme karakterleri ya da başka ikame veriler içeriyorsa, yeniden kodlama yoluyla kurtarma sözü vermeyin. Kod çözme ayarlarını değiştirmek hangi emojinin atıldığını tahmin edemez. Başka bir dışa aktarım, bir yedekleme veya bozulmamış günlük girdisini arayın, ardından yeni bir dosyaya yeniden dışa aktarın ve güvenmeden önce önizlemesini doğrulayın.
