Uluslararasılaştırma

4.1  Sorun: toupper() ile karakter dönüşümü gerçekleşmiyor

Bu sorun tr_TR.UTF-8 yerelinde ortaya çıkıyor. Eğer toupper çağısı yapılıyorsa dönüş değerinin mutlaka kontrol edilmesi ve eğer dönüş değeri 128bit'den büyük ise dönüşümün geniş karakterler ile çalışabilen towupper() ile yapılması gerekiyor. towupper() fonksiyonunu çağırmak için karakteri öncelikle çok-baytlı karakter dizisinden geniş karakter'e çevirmek gerekiyor.

Aslen tüm büyük/küçük harf dönüşümlerinin geniş karakterler üzerinden yapılması en ideal çözümken, yazılım geliştiriciler performans kaygıları nedeni ile karakterin niteliğine göre dönüşüm fonksiyonunu seçmeyi uygun görüyorlar. Fakat bu yöntem çoğu zaman (hemen hemen her zaman) Türkçe yerelinde hatalı çalışan uygulamaları doğuruyor.

Bu web sitesinde bulunan bilgi ve belgelerin, kaynak gösterilmek koşulu ile kullanılması serbesttir.
Pardus markası ve logotipi TÜBİTAK'ın tescilli markasıdır. Kullanım koşulları için Yasal Uyarı bölümünü inceleyiniz.
Pardus hakkında merak ettikleriniz için lütfen yardım sayfasına başvurun. TÜBİTAK - UEKAE, PK.74 41470, Gebze / Kocaeli.

Copyright 2007 Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü. Tüm Hakkı Saklıdır. Görüşleriniz