Aracılığıyla paylaş


Internet Explorer bir HTML sayfasını işlerken yanlış karakter kümesi kullanıyor

Uyarı

Kullanımdan kaldırılan, destek dışı Internet Explorer 11 masaüstü uygulaması, Windows 10'un belirli sürümlerinde Microsoft Edge güncelleştirmesi aracılığıyla kalıcı olarak devre dışı bırakılmıştır. Daha fazla bilgi için bkz. Internet Explorer 11 masaüstü uygulamasının kullanımdan kaldırılması hakkında SSS.

Bu makalede, Internet Explorer'ın bir HTML sayfasını yanlış karakter kümesi kullanarak işlemesi sorununu çözmeniz için yöntemler sağlanır.

Özgün ürün sürümü: Internet Explorer
Özgün KB numarası: 928847

Belirtiler

Microsoft Internet Explorer bir HTML sayfasını işlerken yanlış karakter kümesini kullanır. Html sayfasındaki bir META etiket tarafından doğru karakter kümesi belirtilmiş olsa bile Internet Explorer bunu yapar.

Örneğin, UTF-8 HTML sayfasında aşağıdaki META etiketle belirtildiğinde bile Internet Explorer, Shift-JIS karakter kümesini kullanarak Japonca bir HTML sayfası işlenebilir:

<META http-equiv=Content-Type content="text/html; charset=utf-8">

Neden

Bu sorun, bir veya daha fazla veya aşağıdaki koşullar doğruysa oluşabilir:

  • Internet Explorer'da Otomatik Seçim ayarı etkindir. Bu ayar, Internet Explorer'ın HTML sayfası için kullanılan kod sayfasını belirlemesine yardımcı olur.
  • Sistem Yerel Ayarı, etikette META belirtilen karakter kümesinden farklıdır.
  • META Karakter kümesini belirten etiket, MSHTML tarafından ayrıştırılan HTML verilerinin ilk öbeği içinde değil. Bu, genellikle etiketin ilk 4 KB verinin geri kalanı boyunca ilk 256 bayt veriden sonra bir yerde bulunduğu anlamına gelir.
  • Sunucu yavaş çalışan bir sistemdir veya HTTP yanıtının ilk bölümünü ayırarak yanıtın META etiketini içermemesine neden olur. Öbeklenmiş kodlamayı etkinleştirirseniz bu sorun oluşabilir.
  • Internet Explorer ilk veri parçasını ayrıştırılması için IMultiLanguage::ConvertStringToUnicode yöntemine geçtiğinde, Internet Explorer dönüştürmeyi gerçekleştiremez.

Not

Bu soruna katkıda bulunabilecek ek koşullar vardır. Bu ek koşullar koda özgü olup burada listelenmemektedir.

Çözüm

Bu sorunu çözmek için aşağıdaki yöntemlerden birini kullanın:

  • Internet Explorer'da Otomatik Seçim ayarını devre dışı bırakın.
  • HTTP üst bilgilerinde karakter kümesini belirtin.
  • META Etiketi, MSHTML tarafından ayrıştırılan ilk kilobayt verinin içine taşıyın. Ayrıştırıcının aynı anda ne kadar veri okuduğunu bilmesek de, bu konum sorunu çözecektir.
  • Sunucunun ilk HTTP yanıtının boyutunu artırın. İlk boyut en az 1 KB olmalıdır.
  • Sistem Yerel Ayarı ayarının HTML sayfasında belirtilen etiketin META karakter kümesiyle eşleştiğinden emin olun.