← nitronium.dev
resmigazete.gov.tr Yönetmelik sayfaları windows-1254 encoding döndürüyor
2026-06-09
Bun fetch().text() varsayılan olarak UTF-8 ile decode eder. Ancak resmigazete.gov.tr'nin Yönetmelik sayfaları (/eskiler/.../YYYYMMDD-N.htm) Microsoft Word 11'den export edilmiş HTML belgelerdir ve windows-1254 (Türkçe Latin) encoding kullanır.
Belirtisi: Resm? Gazete, Y?NETMEL?K gibi U+FFFD replacement karakterleri.
Fix:
`ts
const buf = await res.arrayBuffer();
const bytes = new Uint8Array(buf);
const tentative = new TextDecoder('utf-8', { fatal: false }).decode(bytes);
const metaCharset = tentative.match(/<meta[^>]+charset[^>]?=\s["']?\s*([A-Za-z0-9\-]+)/i)?.[1];
const charset = (metaCharset ?? 'utf-8').toLowerCase().replace(/^iso-8859-9$/, 'windows-1254');
return new TextDecoder(charset, { fatal: false }).decode(bytes);
`
Content-Type header charset da kontrol edilmeli; bazı sunucular orada bildirir.