Utf-8 Nedir?
UTF-8 (8-bit UCS/Unicode Transformation Format); 8 bitlik bir Unicode karakter seti formatı olup, "Unicode Transformation Format"'ın kısaltması olarak
kullanılmaktadır.UTF-8 kodlaması Unicode karakterlerini 1-6 byte uzunluğunda diziler olarak kodlar. ASCII kodlaması içinde 0-127 arasında kalan karakterler
aynen kendi kodları ile kullanılır, diğerleri ise byte dizileri haline gelir.
Utf-8 Hakkında/Özellikleri
UTF kullanarak 1 milyondan fazla karakter kodlanılabilinmektedir. Sıklıkla kullanılan 65536 karakterin kodlaması bu 1 milyondan fazla kodlamada ilk sıralarda
yer almaktadır.Evrensel kodlama ile aynı sayfada farklı lisanları göstermek mümkün olabilmektedir.Bu durum şöyle açıklanabilir:
"latin_1,latin_5" gibi ükle dil kodlarında,diğer ülkelerde ki dili standt hale getirebilmek için,o dil de geçen karakterlerin html karşılıklarını yazmak
gerekir.Bunlar:
Ü <=> Ãœ
Ş <=> ÅŸ
Ğ <=> ÄŸ
Ç <=> Ç
İ <=> Ä°
Ö <=> Ö
ü <=> ü
ş <=> ÅŸ
ğ <=> ÄŸ
ç <=> ç
ı <=> ı
ö <=> ö
olarak sıralanabilir.
Utf-8 cahrset karakter dil setiyle,bu karşılıkları yazmaya gerek kalmadan kendi dilinizde kullanılan karakterleri bütün dil karakter setleriyle ortak hale
getirebilirsiniz.
Utf-8 Çeşitleri
utf8_bin : Unicode - Çok Dilli (Universal Code - Unicode) - İkili (Binary)
utf8_czech_ci : Çekçe - Büyük ve Küçük harfe duyarsız
utf8_danish_ci : Danca - Büyük ve Küçük harfe duyarsız
utf8_esperanto_ci : Esperanto - Büyük ve Küçük harfe duyarsız
utf8_estonian_ci : Estçe - Büyük ve Küçük harfe duyarsız
utf8_general_ci : Unicode (çokdilli) - Büyük ve Küçük harfe duyarsız
utf8_hungarian_ci : Macarca - Büyük ve Küçük harfe duyarsız
utf8_icelandic_ci : İzlandaca - Büyük ve Küçük harfe duyarsız
utf8_latvian_ci : Litvanyaca - Büyük ve Küçük harfe duyarsız
utf8_lithuanian_ci : Litvanyaca - Büyük ve Küçük harfe duyarsız
utf8_persian_ci : Farsça - Büyük ve Küçük harfe duyarsız
utf8_polish_ci : Polonyaca - Büyük ve Küçük harfe duyarsız
utf8_roman_ci : Batı Avrupa - Büyük ve Küçük harfe duyarsız
utf8_romanian_ci : Romence - Büyük ve Küçük harfe duyarsız
utf8_slovak_ci : Slovakça - Büyük ve Küçük harfe duyarsız
utf8_slovenian_ci : Slovence - Büyük ve Küçük harfe duyarsız
utf8_spanish2_ci : Geleneksel İspanyolca - Büyük ve Küçük harfe duyarsız
utf8_spanish_ci : İspanyolca - Büyük ve Küçük harfe duyarsız
utf8_swedish_ci : İsveççe - Büyük ve Küçük harfe duyarsız
utf8_turkish_ci : Türkçe - Büyük ve Küçük harfe duyarsız
utf8_unicode_ci : Unicode - Çok Dilli (Universal Code - Unicode) Büyük ve Küçük harfe duyarsız
21 çeşittir.
Eğer Türkçe karakterler ve bunun yanında birkaç dilin karakterlerini kullanmayı düşünüyorsanız UTF-8 Unicode (utf8_unicode_ci) size önerilir.
Utf-8 Sorun ve Çözümleri
Utf-8, Google' ın en çok tercih ettiği karakter dili olması ve SEO,Pretty Url gibi optimizasyon araçlarının desteklediği karakter grubu olması nedeniyle
webmasterlar bu dili tercih ederler.Fakat bu dil SMF scriptinde "ISO-8859-9" karakter dilini kullananlar Türkçe karakter sorunları yaşamaktadır.Bu sorunlar
nelerdir ve çözümleri nelerdir:
1- Utf-8 i sorunsuz şekilde kurabilmek(Modifikasyonlar bozulmadan):
Admin/Forum Bakımından "Veri ve veritabanını utf-8 e dönüştür" seçeneği ile önce veritabanı utf-8 e dönüştürülür.Daha sonra gerekli utf-8 dosyaları
default ya da kullandığınız temanın languages klasörüne atılır.Modifikasyonları bozmamak için de:
Mesela "Modification.turkish.php" dosyasında modifikasyonların dil değişkenleri yer alıyorsa bu dosya Notepad dosyasında açılarak Farklı
Kaydet seçeneği seçilir ve kodlama Utf-8 olarak işaretlenerek dosya ismi sonuna -utf8 yazılarak kaydedilir.Daha sonra languages
klasöründekiyle yer değiştirilir.(mesela Modification.turkish-utf8.php gibi)
Şayet hata alırsanız "ayarlari_onar.php yi çalıştırın ve dil kısmına "turkish-utf8" yazın.Ayrıca Settings.php dosyanızda
Code: [Select]
?>
kodundan evvel
Code: [Select]
$db_character_set = 'iso-8859-9';
diye bir karakter seti kodu varsa silin.Forum Seçenekleri/Sunucu Ayarlarından
da dil seçeneklerinden "turkish-utf8" i işaretleyin.
Bu işlemlerin en sonunda kategori ve forum başlığınızdaki isimler de (şğ,ç...) gibi karakterler ve ondan sonraki karakterler silindiği için tekrar yazmanız
gerekiyor
2- Utf-8 i sorunsuz ve güvenli bir yoldan kaldırma
phpmyadmin den tablolarınızı tek tek seçerek "İşlemler" seçeneğinden karakter karşılaştırmasını değiştirip,languages klasörünüzden utf 8 dil dosyalarını silerek kaldırabilirsiniz.
Döküman Sahibi: Sinan ANDIRMAN
www.simplemachines.org/community/index.php?topic=264381.0