Mikro e-İrsaliye / e-Fatura /e-Arşiv XSLT görünüm sorunu
Görselde görünen sorun, e-İrsaliye / e-Fatura XSLT görünüm şablonundaki Türkçe karakterlerin (İ, ı, Ö, ö, Ü, ü, Ş, ş, Ğ, ğ) “” (Soru işareti / Baklava) simgesine dönüşmesi şeklinde ortaya çıkan klasik bir Karakter Kodlama (Encoding) problemidir.
Ana makinada bu sorunun yaşanmasının temel sebebi, XSLT şablon dosyasının kaydolduğu karakter kodlaması (ANSI / UTF-8) ile Windows’un sistem bölge ayarları veya e-Belge gösteriminde kullanılan tarayıcı bileşeninin charset algılamasının çakışmasıdır.
Adım Adım Çözüm Yolları
1. XSLT Şablon Dosyasının Kodlamasını UTF-8 Yapmak (En Kesin Çözüm)
Kullanılan e-İrsaliye / e-Fatura tasarım dosyasının (XSLT) kendisi ANSI veya eksik bir UTF-8 BOM bilgisiyle kaydedilmiş olabilir:
Mikro’da veya sunucudaki dizinde kullanılan ilgili .xslt (veya .xsl) dosyasını Notepad++ veya varsayılan Not Defteri ile aç.
Notepad++ kullanıyorsan üst menüden Kodlama (Encoding) sekmesine gel ve “UTF-8 olarak dönüştür” (Convert to UTF-8) seçeneğini seçip dosyayı kaydet.
Normal Not Defteri ile açıyorsan: Farklı Kaydet de, en alttaki Kodlama (Encoding) seçeneğini UTF-8 yapıp var olan dosyanın üzerine kaydet.
2. XSLT Kodunun İçine
encoding Etiketini EklemekXSLT dosyasının en üst satırında karakter setinin UTF-8 olduğu açıkça beyan edilmemiş olabilir.
Dosyayı metin editörü ile açıp en üstteki tanım satırının şu şekilde olduğundan emin ol:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" indent="yes"/>
encoding="UTF-8"
tanımı yoksa veya
ISO-8859-9 / Windows-1254 olarak kaldıysa bunu UTF-8 yapıp kaydedebilirsin.3. Ana Makina Windows Sistem Bölge (Locale) Ayarları
Özellikle Windows Server işletim sistemlerinde Türkçe karakter setlerinin varsayılan olarak algılanmaması bu duruma yol açar:
Ana makinada Denetim Masası (Control Panel) -> Bölge (Region) ekranına gir.
Yönetimsel (Administrative) sekmesine geç.
Sistem yerel ayarını değiştir (Change system locale…) butonuna tıkla.
Burada dilin Türkçe (Türkiye) olduğundan emin ol.
(Önemli) Aşağıdaki “Beta: Dünya çapında dil desteği için Unicode UTF-8 kullan” kutucuğu İŞARETSİZ (KAPALI) olmalıdır. Bu ayar açık olduğunda Türkçe sistemlerde bu tarz bozulmalar yaratabilir.
Değişiklik yaptıysan ana makineyi yeniden başlat.
Değişiklik yaptıysan ana makineyi yeniden başlat.
4. Internet Explorer / WebBrowser Bileşeni Önizleme Ayarları
Mikro, e-Belge gösterimini arka planda Windows’un Internet Explorer (WebBrowser) bileşeni veya varsayılan tarayıcısı üzerinden çeker.
Ana makinadaki varsayılan tarayıcıda veya IE seçeneklerinde metin kodlama otomatik algılamada takılıyor olabilir. XSLT dosyasının
tagları arasına şu meta etiketinin eklendiğinden emin olunabilir:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Özetle: Büyük ihtimalle dizindeki orijinal
.xslt tasarım dosyasının kendisi veya firma parametrelerindeki e-İrsaliye şablonu UTF-8 formatında kaydedilmediği için ana makina belgeyi açarken Türkçe karakterleri bozuk render ediyor. Dosyayı Notepad++ ile UTF-8 yapıp kaydettiğinde sorun çözülecektir.
🍁
Sorularınız, karşılaştığınız teknik sorunlar ve destek talepleriniz için aşağıya yorum bırakabilirsiniz