Çince girişte tam ve yarım genişlikli karakterler

Geniş ve dar dizgi blokları
İçindekiler

ABC123 ve ABC123 birbirine benzer görünür, ancak farklı Unicode karakterleri içerir. Normal Latin harflerini ve rakamları kabul eden bir form, tam genişlikli sürümü reddedebilir; bir elektronik tablo karşılaştırması da bunları eşit saymayabilir.

Çince giriş yöntemleri, Çince metnin yanında tam genişlikli harf, rakam veya noktalama üretebilir. Sorun yalnızca yazı tipi ya da yakınlaştırma düzeyi değil, metin dizisinde saklanan gerçek karakterlerdir.

Yaygın karakter çiftlerini tanıma

Yarım genişlikli biçimTam genişlikli biçimTipik sorun
AATanımlayıcı karşılaştırması eşleşmez
11Sayısal alan girdiyi reddeder
,,Ayırıcı tanınmaz
( )( )Arama veya ayrıştırma farklı çalışır

Normal boşluk ile ideografik boşluk da bir metin alanında benzer görünebilir. Baştaki veya sondaki boşluklar başka bir uyumsuzluk ekleyebilir. Özellikle ürün kodlarında, iletişim alanlarında ve içe aktarılan kayıtlarda değiştirmeden önce değerin tamamını inceleyin.

Şema: ABC123 → ABC123

Yalnızca gerekli alanları dönüştürme

ABC123 gibi bir ürün tanımlayıcısında Latin harflerini ve rakamları dönüştürmek ABC123 sonucunu verir. Çince bir paragraftaki bütün noktalama işaretlerini dönüştürmek ise amaçlanan tipografiyi bozabilir. Veri giriş alanı ile yayımlanmış bir cümle farklı işlem gerektirebilir.

Tam ve yarım genişlik dönüştürücüsü harfleri, rakamları, desteklenen noktalama işaretlerini ve boşlukları seçmenizi sağlar. Önce uyumsuzluğa yol açan kategorileri seçin, sonra sonucu özgün değerle karşılaştırın.

Genişlik dönüşümünün dışındaki değişiklikler

Genişlik dönüşümü basitleştirilmiş Çinceyi geleneksel Çinceye çevirmez. Farklı yazı sistemlerindeki benzer görünümlü harfleri de aynı yapmaz. Örneğin Latin harfi ile ona benzeyen Kiril harfi başka bir inceleme gerektirir.

Çince nokta 。, ASCII noktası . karakterinin yalnızca tam genişlikli karşılığı değildir. Benzer biçimde, Çince tırnak ve kitap başlığı işaretlerinin tamamı tam genişlikli ASCII eşlemesine girmez. Tek bir genişlik dönüşümünün bütün noktalama farklılıklarını ortadan kaldıracağını varsaymayın.

Bir alanı dönüşümden önce ve sonra karşılaştırma

Örnek ürün kodu ABC123 olsun. Yalnızca harfleri dönüştürmek ABC123 üretir; rakamlar tam genişlikli kalır. Harfleri ve rakamları birlikte dönüştürmek ABC123 verir. Sonuç bu yüzden kısmen düzelmiş görünürken normal harf ve rakam koşulunu hâlâ karşılamayabilir.

Şimdi kodun önüne ideografik boşluk ekleyin:  ABC123. Yalnızca harf ve rakamları dönüştürmek bu başlangıç boşluğunu bırakır. Boşlukları dönüştürmek genişliğini değiştirir, ancak onu silmekle aynı işlem değildir. Alan baştaki boşlukları da yasaklıyorsa alıcı biçimin kuralına göre bunları ayrıca kırpın.

Tanımlayıcıya ait olduklarında baştaki sıfırları koruyun. 001234 değerini 001234 biçimine dönüştürmek, onu 1234 yapmamalıdır. İkinci değişiklik genişlik dönüşümü değil, sayısal yorumlamadır. Baştaki sıfırlar önemliyse temizlenen tanımlayıcıyı elektronik tabloda metin olarak saklayın.

Noktalama ile dosya yapısını ayrı ele alma

Çince düz yazıdaki virgül noktalama işaretiyken CSV dosyasındaki ASCII virgülü alanları ayırabilir. Dolayısıyla ham dosyadaki her Çince virgülü ASCII virgülüne çevirmek, alan düzgün tırnaklanmamışsa dosyanın ayrıştırılmasını etkileyebilir. Seçilen alanın metnini dönüştürün, ardından dosya biçiminin normal tırnaklama kurallarıyla dışa aktarın.

Aynı şekilde cümledeki tam genişlikli iki nokta ile URL içindeki iki noktanın rolleri farklıdır. Dönüştürücü karakteri değiştirir, fakat oluşan URL'nin amaçlanan adrese gidip gitmediğine karar vermez. Noktalamayı daraltmanın her diziyi geçerli kıldığını varsaymak yerine bağlantıları ve yapılandırılmış değerleri kendi bağlamlarında kontrol edin.

Karakterin görünür genişliği yazı tipine de bağlıdır. Yazı tipini büyütmek veya değiştirmek A karakterini A yapmaz. Sorun birebir karşılaştırmaysa saklanan metni inceleyin veya dönüştürün. Yalnızca paragrafın görünümü sorunluysa karakterleri değiştirmek gereksiz olabilir.

Büyük bir içe aktarmada, tüm sütunu değiştirmeden önce harf, rakam, noktalama ve boşluk içeren küçük bir örnek deneyin. Eşleştiği bilinen bir kaydı, başında sıfır bulunan bir kaydı ve Çince düz yazı içeren bir kaydı kontrol edin. Örnek, hangi kategorilerin dönüştürüleceğini ve hangilerinin korunacağını göstermelidir.

Dönüşümden sonra alıcı sistem istenen kayıtları kabul edene kadar özgün ve temizlenmiş değerleri yan yana tutun. Böylece değişen karakteri hafızadan yeniden kurmadan veya önceki tüm seçimleri geri getirmeyebilecek ters dönüşüme güvenmeden doğrudan belirleyebilirsiniz.

İçe aktarılan veriler için temizleme sırası

  1. Özgün sütunu veya dosyayı saklayın.
  2. Sayısal kod gibi belgelenmiş biçimi olan alanı belirleyin.
  3. Ayrı bir kopyada gerekli karakter kategorilerini dönüştürün.
  4. Dönüşümden sonra baştaki sıfırları, noktalamayı ve boşlukları kontrol edin.
  5. Çalışma verilerini değiştirmeden önce eşleşmeyi veya doğrulamayı yeniden test edin.

Sistem açıkça istemedikçe parolaları veya imzalanmış metin dizilerini normalleştirmeyin: tek karakter değişikliği değeri değiştirir. İsimler ve tanımlayıcılar için özgün yazımın geri alınabilmesini sağlayan bir kontrol kopyası tutun.

Teslimde ayrıca uzunluk sınırı varsa sonuç metnini karakter sayacından geçirin. Genişlik değişikliği, karakter sayısını azaltmadan görünür genişliği etkileyebilir.

Yorumlar

Yükleniyor…

Henüz yorum yok.