Yükleniyor...

HTML Charset

Favicon bağlantıları tarayıcıya sekmede hangi küçük görüntünün gösterileceğini söyler. Charset daha temel bir soruyu yanıtlar: tarayıcı HTML dosyanızın baytlarını insanların okuyabileceği harflere nasıl çevirmelidir? Kodlama yanlış olduğunda Farsça, Arapça, aksanlı Latin, Çince ve emoji çoğu zaman mojibake’e dönüşür — işaretlemenin geri kalanı sağlam olsa bile bozuk görünen karışık diziler.

Charset ne demektir

Bir karakter kümesi (ve onun kodlaması) diskteki baytları karakterlere eşler. HTML dosyaları bayt akışlarıdır. Doğru bir çözme kuralı olmadan tarayıcı yanlış tahmin edebilir. head içinde UTF-8 bildirmek, çok dilli metin ve simgeleri düzenleyiciler, sunucular ve tarayıcılar arasında güvenilir tutan modern web alışkanlığıdır.

Doğrudan yanıt

<meta charset="UTF-8"> öğesini head’in yakınına — ideal olarak dosyanın ilk 1024 baytı içine — koyun ki tarayıcı kodlamayı erken öğrensin. UTF-8, neredeyse tüm yeni sayfalar için kullanmanız gereken kodlamadır. HTML dosyasının kendisini de düzenleyicinizde UTF-8 olarak kaydedin. Bildirim ve dosya kaydı uyuşmalıdır; biri olmadan diğeri yine bozuk karakterler üretir.

Bildir, kaydet ve dil — farklı işler

📊 Kodlama, dil ve title karşılaştırması

Piece Job
meta charset Baytların karakterlere nasıl çözüleceği
Editor save as UTF-8 Aracınızın bu baytları diske nasıl yazdığı
html lang Sayfa içeriğinin hangi insan dilinde olduğu
title text Sekme etiketi sözcükleri (bir kodlama anahtarı değil)

Çok dilli bir UTF-8 demosu

Kısa bir belge charset’i eylemde gösterir. Meta head içinde önce gelir, sonra bir title, sonra farklı yazıları karıştıran gövde metni.

head içinde UTF-8 charset

html
HTML Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Charset demo</title>
</head>
<body>
<p>Hello — سلام — مرحبا — 你好 — 🙂</p>
</body>
</html>

Örneği okumak

  • <meta charset="UTF-8"> çoğu diğer içerikten önce, head içinde erken durur
  • lang="en" araçlar için birincil dili adlandırır; charset’in yerine geçmez
  • Paragraf Latin, Farsça, Arapça, Çince ve bir emoji içerir — dosya doğru kaydedildiğinde UTF-8 altında hepsi sorunsuzdur
  • Bu karakterler bozulursa, HTML yapısını yeniden yazmadan önce kayıt kodlamasını kontrol edin

Charset neden erken konur

Tarayıcılar dosyayı üstten okumaya başlar. Charset yalnızca kocaman bir metin veya komut yığınından sonra görünürse, bazı karakterler zaten yanlış bir tahminle yorumlanmış olabilir. Meta’yı head’in açılışına yakın tutun. Önceki oturumlardaki başlangıç head bloklarında charset bu yüzden bilerek ilk sıradaydı.

Mojibake: uyumsuzluğun belirtisi

Mojibake, gerçek sözcüklerin olması gereken yerde rastgele noktalama, Latin artıkları veya yerine geçen karakterler gibi görünür. Yaygın nedenler: dosya eski bir kodlamayla kaydedilmişken UTF-8 bildirmek, veya charset’i atlayıp tarayıcının doğru tahmin etmesini ummak. Harfleri sonsuza dek yeniden yazarak “düzeltmek” yerine kodlama çiftini — meta artı dosya kaydı — düzeltin.

lang, charset değildir

html üzerindeki (ve bazen belirli öğelerdeki) lang özniteliği ekran okuyucuların, hecelemenin ve arama araçlarının dili anlamasına yardım eder. Charset bayt çözmeyi yönetir. Genellikle ikisini de istersiniz: dil kimliği için lang, kodlama için charset. Zaten lang="fa" veya lang="ar" ayarladınız diye charset’i kaldırmayın.

Sunucular ve gerçek dağıtımlar (başlangıç notu)

Canlı sunucular HTTP başlıklarında da bir Content-Type charset gönderebilir. Bu kurs için önce HTML meta ve UTF-8 kaydetme alışkanlığını ustalaştırın. Canlı bir site meta’nızla çelişirse bir mentordan başlıkları kontrol etmesini isteyin — ancak çoğu yerel alıştırma sorunu düzenleyici kayıt kodlaması veya eksik bir meta etiketidir.

Düzenleyicinizde pratik

  1. head’in üstünde <meta charset="UTF-8"> olan bir sayfa oluşturun.
  2. İngilizce olmayan harfler ve bir emoji içeren bir cümle ekleyin.
  3. Düzenleyici durum çubuğunun dosyanın UTF-8 olduğunu söylediğini doğrulayın, sonra kaydedin.
  4. Sayfayı bir tarayıcıda açın ve karakterlerin doğru göründüğünü onaylayın.
  5. (İsteğe bağlı, dikkatli) Bir kopyayı eski bir kodlamayla kaydedin, yeniden açın ve mojibake’i gözlemleyin — sonra bu hata kipini tanımak için UTF-8’e geri dönün.

Kolay hatalar

  • meta charset’i unutup tarayıcı şansına güvenmek
  • UTF-8 bildirirken dosyayı eski bir kodlamayla kaydetmek
  • Charset meta’yı kocaman bir head içinde çok geç koymak
  • Charset’i görünür sayfa başlığı veya lang ile karıştırmak
  • Emoji sorunlarının her zaman “HTML hataları” olduğunu varsaymak; asıl neden kodlama olabilir
  • Mojibake’i UTF-8 kayıt + meta’yı düzeltmek yerine lang’i silerek “düzeltmek”

Özet

  • Charset, HTML dosyasının baytlarının karakterlere nasıl çözüleceğini bildirir
  • Neredeyse tüm yeni sayfalar için UTF-8 kullanın ve meta charset’i head içinde erken yerleştirin
  • Bildirim ile disk kodlaması uyuşsun diye dosyayı UTF-8 olarak kaydedin
  • lang dili adlandırır; charset kodlamayı adlandırır — farklı işler
  • Mojibake genellikle gizemli bir etiket arızası değil, bir kodlama uyumsuzluğudur

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
6
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek