11 Temmuz 2007 Çarşamba

UTF8 ve AL16UTF16 kodlamaları

Ulusal karakter seti, verileri Unicode olarak tutar; UTF8 veya AL16UTF16 kodlamalarından birini kullanarak. AL16UTF16 kodlamasında her bir karakter 2 byte yer kaplar. Bu özellik, farklı programlama dilleri karıştırıldığında, budama (truncation) hatalarının önlenmesi için string uzunluklarının belirlenmesinde kolaylık sağlar, bununla beraber çoğu ASCII karakterlerinden oluşan stringlerin depolanmasında fazladan depolama yüküne neden olur.

UTF8 kodlamasında her bir karakter 1, 2 veya 3 byte uzunluğunda yer tutar. Eğer çoğu karakter tek bir byte ile gösterilebilirse, bir değişkene veya bir tablo kolonuna daha fazla karakter sığdırılabilir; ancak veri, uzunluğu bytelarla sınrlı bir tampona aktarılırken budama (truncation) hataları oluşabilir.

Oracle şirketi, en yüksek çalışma zamanı güvenilirliği için, elverişli olan yerlerde AL16UTF16 kodlamasının kullanılamasını öneriyor. Ayrıca bir Unicode stringini tutmak için ne kadar yer gerektiğinin belirlenmesi gerekirse LENGTH fonksiyonu yerine LENGTHB fonksioyonunun kullanılması daha iyi olur.

Hiç yorum yok: