Karakter kümesi beyanı eksik veya HTML'de çok geç gerçekleşiyor

Sunucular ve tarayıcılar, internet üzerinden baytlarca veri göndererek birbirleriyle iletişim kurar. Sunucu bir HTML dosyası gönderirken hangi karakter kodlama biçimini kullandığını belirtmezse tarayıcı her bir baytın hangi karakteri temsil ettiğini bilemez. Karakter kodlama bildirimi bu sorunu çözer.

Lighthouse charset denetimi nasıl başarısız olur?

Lighthouse, karakter kodlaması belirtilmeyen sayfaları işaretler:

Başarısız karakter kodlama denetimi.

Lighthouse, aşağıdakilerden herhangi birini bulduğunda karakter kodlamasını bildirilecek kabul eder:

  • Belgenin <head> içinde yer alan ve dokümanın ilk 1.024 baytında tamamen yer alan bir <meta charset> öğesi.
  • Geçerli bir IANA adıyla eşleşen charset yönergesine sahip Content-Type HTTP yanıt başlığı
  • Bayt sırası işareti (BOM)

charset denetiminden nasıl geçebilirsiniz?

HTML'nize <meta charset> öğesi ekleyin

HTML belgenizin ilk 1.024 baytı içine bir <meta charset> öğesi ekleyin. Öğe, ilk 1.024 bayt içinde tamamen yer almalıdır. En iyi uygulama, <meta charset> öğesini dokümanınızın <head> öğesinin ilk öğesi yapmaktır.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    …

Content-Type HTTP yanıt başlığı ekleme

Sunucunuzu charset yönergesi içeren bir Content-Type HTTP yanıt üst bilgisi ekleyecek şekilde yapılandırın.

Content-Type: text/html; charset=UTF-8

Kaynaklar