Giriş
Ürünler
ZPL GörüntüleyiciBarkod OluşturucuGörsel → ZPLZPL hile sayfasıEtiket TasarımcısıŞablon Galerisi
Geliştiriciler
API Hızlı BaşlangıçAPI ReferansıMCP SunucusuToplu ÜretimWebhook'larSDK'lar ve ÖrneklerLimitlerDirectPrint agent YeniGitHub ActionVS Code eklentisiOn-Premise
Çözümler
Lojistik ve KargoE-TicaretERP & WMSÜretimPerakendeSağlık ve LaboratuvarTüm çözümler
Araçlar
ZPL Teşhis MerkeziZPL Hata AyıklayıcıBoyut ve DPI AnaliziDPI DönüştürücüBarkod sığdırma hesaplayıcısıSevkiyat Etiketi AnaliziFont DenetimiYön DenetimiKalibrasyon AsistanıYazıcı Uyumluluk KontrolüBarkod Okunabilirlik KontrolüYazıcı Dili TespitiTermal Yazıcı Test PaketiZPL AraçlarıEPL AraçlarıTSPL AraçlarıCPCL AraçlarıYazıcı Dili DönüştürücüTüm AraçlarRehberFiyatlandırma
Dil
EnglishTürkçeDeutsch
Ana Sayfa›Rehber›ZPL'de özel karakterler bozuk basılıyor

ZPL'de özel karakterler bozuk basılıyor

Yayın tarihi: · Güncellendi:

Kodu yapıştırın

Kodu yapıştırın ya da örneği yükleyin — sonuç aşağıda, her bulgunun satırı ve önem derecesiyle görünür.

Sonuç

Sağlık raporu

Ö, Ö oluyor; ü, ü oluyor; ş iki çöp simgeye dönüyor. Veri sisteminizde doğru, dosyada doğru — etikette yanlış. Bu bozulma değildir; iki tarafın aynı baytları farklı tablolarla çözmesidir.

Baytlara gerçekte ne oluyor

Modern sistemler metni UTF-8 yazar; Ö orada iki bayttır. Talimat almamış bir Zebra yazıcı ^FD verisini varsayılan eski kod sayfasıyla çözer — her bayt bir karakterdir — ve o iki bayt iki yanlış karakter olarak basılır. İmza kesindir: her aksanlı harf iki karakterlik bir çifte dönüşür, çevresindeki düz ASCII kusursuz kalır.

Çözüm: ^CI28 ile UTF-8 beyan edin

Formatın başına, ilk ^FD'den önce bir kez ^CI28 koyun. Yazıcıya alan verisini UTF-8 olarak çözmesini söyler — sisteminizin zaten yaptığı varsayımın aynısını. Diğer sayısal ^CI değerleri tek baytlık eski tablolar seçer ve yalnız birkaç konumu değiştirir; gerçek çok dilli metin için gönderdiğinizle eşleşen değer 28'dir.

^XA
^CI28
^FO50,50^A0N,40,40^FDGüvenli Ölçüm — Şişli^FS
^XZ

Bu etiketi önizlemede aç →

Önizleme doğru görünürken yazıcı neden yanlış basar

Ekranda test etmenin dürüst ayrıntısı: tarayıcı önizlemesi (bizimki dahil) baştan sona UTF-8 varsayar; bu yüzden ^CI28 olmayan bir dosya önizlemede kusursuz görünüp varsayılanı eski sayfa olan yazıcıda yine bozuk basabilir. Yapısal denetim bu yüzden 28 dışındaki sayısal ^CI'yi uyarır; çok dilli metni donanıma göndermeden önce gözle bakılacak şey ^CI28'in varlığıdır.

İkinci katman: font o harfin çizimini içermeli

Kodlama doğru karakter kodunu ulaştırır; fontun o karakterin şeklini içermesi gerekir. Yazıcının gömülü fontları Latin alfabelerini iyi kapsar ama her şeyi değil. Doğru kodlanmış karakter boşluk ya da kutu basılıyorsa, harfi içeren bir TTF yükleyin (~DU) ve ^A@ ile çağırın — etiket, yazıcıda font olmasını ummak yerine kendi fontunu taşır.

Kontrol karakterleri: ^FH

Yazamadığınız baytlar için — ya da aradaki bir entegrasyon ham yüksek baytları bozuyorsa — ^FH alanı hex kaçışına geçirir: ^FH^FD_C3_96^FS Ö'yü değeriyle basar. UTF-8 baytlarını koruması güvenilmeyen ara sistemlerden geçen üretilmiş dosyalar için sağlam yol budur.

Üçüncü katman: sürücü ve araç zinciri

Dosyada ^CI28 varken ve font harfi içerirken karakter yine de programınızla kafa arasında ölebilir. Genellikle bulundukları sırayla üç yer:

İlgili doğrulama kuralı

Önizleme UTF-8 varsayar; kâğıt yanlışken ekran doğru görünebilir. Doğrulayıcımız hiç ^CI komutu olmayan bir etikette ASCII dışı metni işaretler: ZPL5004 kural sayfasında örnek ve çözüm var.

Sık sorulan sorular

ş, ğ, ö neden iki çöp karakter olarak basılıyor?

Sisteminiz UTF-8 gönderir; aksanlı harf orada iki bayttır. Talimat almamış yazıcı bunları tek baytlık eski kod sayfasıyla çözer ve iki yanlış karakter basar. Formatın başına, ilk ^FD'den önce ^CI28 ekleyin.

Önizlemede doğru görünüp yazıcıda neden bozuk çıkıyor?

Tarayıcı önizlemesi baştan sona UTF-8 varsayar; ^CI28 olmayan dosya ekranda kusursuz görünüp varsayılanı eski sayfa olan donanımda yine bozuk basabilir. Çok dilli metni göndermeden önce ^CI28'in varlığını kontrol edin.

^CI28 var ama karakter kutu olarak basılıyor — neden?

Kodlama karakterin kodunu ulaştırır; fontun o karakterin şeklini içermesi gerekir. Harfi içeren TTF'yi ~DU ile yükleyip ^A@ ile çağırın — etiket, yazıcının gömülü fontlarına bel bağlamak yerine kendi fontunu taşır.

^CI28 ekledim, hâlâ soru işareti basıyor — neden?

Üç olağan sebep: iş ^CI'yı geçirmeyen genel bir Windows sürücüsünden gidiyor (ZPL'i ham gönderin ya da ^FH hex kaçışları kullanın); yüklenen fonta ^CW ile başka harf atanmışken metin hâlâ 0 fontunu çağırıyor; ya da dosya UTF-8 yerine ANSI/Windows-1254 kaydedilmiş.

İlgili yazılar

Yazıcı anlamsız karakterler basıyor

Etiket yerine ham metin ve kontrol karakterleri dump modunu, gerçekten bozuk glifler dil uyumsuzluğunu gösterir. Ayırt etmek bir dakika sürer.

Yalnız son grafik basılıyor

Birden çok ^GB kutulu format mobil yazıcıda yalnız sonuncusunu basıyor. Dosya çoğu kez masum: önce yazıcının aktif dilini belirleyin.

İşteki her etiket aynı saati basıyor (^FC, ^SL)

Çok etiketli bir ZPL işi her etikete aynı saat değerini basıyor. Bu bir hata değil, ^SL'in belgelenmiş varsayılanı — ve ^SLT onu değiştirir.

Zebra fazladan boş etiket basıyor

Her baskıdan sonra boş etiket, atlanan etiket ya da yarım baskı: iki sebep ZPL'de (^LL, ^PQ), iki sebep yazıcıda, biri sürücüde. Bu sırayla kontrol edin.

Kendi ZPL kodunuzu deneyin →