Advertisement:

Author Topic: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri  (Read 218895 times)

Offline Sinan ANDIRMAN

  • Sr. Member
  • ****
  • Posts: 906
  • Gender: Male
  • Sarı Fırtına - I am not Super MAN,I am AndırMAN :)
    • Dizayn Turko
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

Offline KompLo

  • Semi-Newbie
  • *
  • Posts: 50
    • Pekiştireç
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #1 on: September 26, 2008, 05:04:22 PM »
Güzel döküman olmuş Sinan :)

Demek ki insanların bazı bilgileri edinebilmeleri için o bilgilerle alakalı problem yaşamaları gerekiyormuş.
Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

Offline Sinan ANDIRMAN

  • Sr. Member
  • ****
  • Posts: 906
  • Gender: Male
  • Sarı Fırtına - I am not Super MAN,I am AndırMAN :)
    • Dizayn Turko
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #2 on: September 26, 2008, 05:05:47 PM »
Sağolasın usta :)
Evet usta aynen dediğin gibi ;)

Offline NoPasaran

  • Full Member
  • ***
  • Posts: 698
  • Gender: Male
  • Siyah Beyaz - Ölüm Yaşam
    • @volkandiyorki on Twitter
    • Kralkartal
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #3 on: September 28, 2008, 12:00:17 PM »
Evet malesef şimdi latin 5 kullanıyoruz ve bu çok kötü.Yabancılar siteye üye olduklarında eğer dili ing seçerse çok kötü çıkıyor
 
Ancak şu anki mevcut forumlarımıza nasıl adapte edeceğiz bu durumu
 
Quote

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

Demişsin. Bunu nasıl tekrar yazacağız :-\
kralkartal.net SMF 2.0.8

Offline Sinan ANDIRMAN

  • Sr. Member
  • ****
  • Posts: 906
  • Gender: Male
  • Sarı Fırtına - I am not Super MAN,I am AndırMAN :)
    • Dizayn Turko
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #4 on: September 28, 2008, 12:04:55 PM »
malesef elle yazacaksınız,başka yolu şuan da yok.
veritabanını utf8 e dönüştür seçeneğinden dönüştürüp,utf-8 dil dosyalarını yükleyeceksiniz
« Last Edit: September 29, 2008, 11:08:40 AM by Sinan ANDIRMAN »

Offline NoPasaran

  • Full Member
  • ***
  • Posts: 698
  • Gender: Male
  • Siyah Beyaz - Ölüm Yaşam
    • @volkandiyorki on Twitter
    • Kralkartal
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #5 on: October 12, 2008, 11:08:59 AM »
Peki utf-8 de modifikasyondaki karakterler neden sorun çıkarıyor
kralkartal.net SMF 2.0.8

Offline Sinan ANDIRMAN

  • Sr. Member
  • ****
  • Posts: 906
  • Gender: Male
  • Sarı Fırtına - I am not Super MAN,I am AndırMAN :)
    • Dizayn Turko
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #6 on: October 12, 2008, 11:16:55 AM »
şayet eski dil sürümümüz latin karakteri ise ve biz buna göre modifikasyonla alakalı dil dosyasını(latin karakterlere göre) kuruyorsak ş,ç,i gibi karakterler bozuk çıkıyor ;)

Offline Gogen

  • Semi-Newbie
  • *
  • Posts: 80
  • Gender: Male
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #7 on: October 12, 2008, 11:55:19 AM »
Peki utf-8 de modifikasyondaki karakterler neden sorun çıkarıyor

çünkü modifikasyonların çoğunun dili latin. modifikasyonu kurduktan sonra veya manuel kurarken dil dosyasını notepad++ gibi bir metin editöründe açıp karakterleri utf8 e çevirdiğimiz zaman hiç bir sorun kalmaz.

Offline NoPasaran

  • Full Member
  • ***
  • Posts: 698
  • Gender: Male
  • Siyah Beyaz - Ölüm Yaşam
    • @volkandiyorki on Twitter
    • Kralkartal
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #8 on: October 12, 2008, 02:51:56 PM »
Ö <=> Ö

Ö yazmak için bunumu yazmak gerekiyor :)

O zaman değiştir ile bu işi halledebiliriz..

Ancak bir öz eleştiei yapmak gerekirse modifikasyon yazan arkadaşlar uluslar arası dilleride modifikasyonlarına eklemesi gerekmezmi :)
kralkartal.net SMF 2.0.8

Offline Gogen

  • Semi-Newbie
  • *
  • Posts: 80
  • Gender: Male
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #9 on: October 12, 2008, 02:58:49 PM »
Benim forumum da utf-8. ilk zamanlar dediğiniz gibi elle karşılıklarını giriyordum. sonradan  notepad++ yı keşfettim. dosyayı bilgisayarıma indiriyorum ve bir tıkla utf-8 yapıp tekrar gönderiyorum.  :)

Offline Sinan ANDIRMAN

  • Sr. Member
  • ****
  • Posts: 906
  • Gender: Male
  • Sarı Fırtına - I am not Super MAN,I am AndırMAN :)
    • Dizayn Turko
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #10 on: October 12, 2008, 03:06:52 PM »
Arkadaşlar gerekli açıklamaların hepsi dökümanda anlatılmıştır.
ayrıca mod yazarları,yaptığı modlardaki hardcoderda utf-8 dil özelliğinide ekliyor ;)

Offline Gogen

  • Semi-Newbie
  • *
  • Posts: 80
  • Gender: Male
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #11 on: October 12, 2008, 03:40:39 PM »
modifikasyon kurduktan sonra oluşan utf-8 karakter hatalarıyla ilgili bir bilgi yok. o yüzden notepad++ den bahsettim. zaten utf8 kullanıcılarının bir çoğu bu şekilde yapıyor.
ayrıca modifikasyonlarda utf8 özelliği vardemişsin. dil dosyalarından bahsetmiyorum. veritabanına tablo oluşturab modlar genelde latin olarak kodlanıyor. örneğin AdManagement  reklam modu latindir. bu modu kullanarak foruma her hangi bir Türkçe karakter ı eklediğimiz zaman  bozuk çıkar. utf8 karşılığını girmemiz bile fayda etmez. çünkü latindir :)

Offline Sinan ANDIRMAN

  • Sr. Member
  • ****
  • Posts: 906
  • Gender: Male
  • Sarı Fırtına - I am not Super MAN,I am AndırMAN :)
    • Dizayn Turko
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #12 on: October 12, 2008, 03:45:55 PM »
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


gördüğünüz gibi verilmiş ;)
modifikasyon kurduktan sonra oluşan utf-8 karakter hatalarıyla ilgili bir bilgi yok. o yüzden notepad++ den bahsettim. zaten utf8 kullanıcılarının bir çoğu bu şekilde yapıyor.
ayrıca modifikasyonlarda utf8 özelliği vardemişsin. dil dosyalarından bahsetmiyorum. veritabanına tablo oluşturab modlar genelde latin olarak kodlanıyor. örneğin AdManagement  reklam modu latindir. bu modu kullanarak foruma her hangi bir Türkçe karakter ı eklediğimiz zaman  bozuk çıkar. utf8 karşılığını girmemiz bile fayda etmez. çünkü latindir :)
veritabanından utf-8 ile karşılaştırılarak sorun çözülebilir.ayrıca modlar da harcode uygulaması vardır.yani her metin dil dosyasında gösterilmesi gerekir ;)

Offline Gogen

  • Semi-Newbie
  • *
  • Posts: 80
  • Gender: Male
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #13 on: October 12, 2008, 03:54:05 PM »
malesef verilmemiş. settings.php ye eklediğin kod veritabanındaki karakter hatalarını düzeltebilir ama modikasyon kurulduktan sonta oluşan utf8 karakter hatalarını gidermez. modifikasyon kurduktan sonra Türkçe karakterler bozuk oluyor bazen ve forumdaki yazılar büyüyebiliyor. bunun için modifkasyon hangi dil dosyasına uygulanmışsa onu notepad progamında editlemek gerekli. settings.php iledeğil yani. veritabanındaki karakter hataları ile ilgili.
AdManagement ile ilgili söyledğim şeyi anlamadın sanırım. bu mod rekla modu ya. admin panelden reklam ekleyebiliyorsun foruma. reklam değilde Türkçe karakterli bir yazı eklediğimizde bu yazılar çıkmaz. çünkü modifikasyon latindir. ben bazen forumun altına yazı ekliyorum bu modla. Türk. karakterle çıkmıyor( forum utf8 ise). notepadlik bir iş değil. çünkü dediğim gibi latin.
dediğin harcode ile hiç bir ilgisi yok. tema dosyası için dil eklemekten bahsetmiyorum.
« Last Edit: October 12, 2008, 04:01:19 PM by Gogen »

Offline Sinan ANDIRMAN

  • Sr. Member
  • ****
  • Posts: 906
  • Gender: Male
  • Sarı Fırtına - I am not Super MAN,I am AndırMAN :)
    • Dizayn Turko
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #14 on: October 12, 2008, 04:06:53 PM »
arkadaşım yine anlaşamıyoruz galiba :)
hardcode uygulaması sadece temalarda yokki,modlarda da var.ayrıca phpmyadminden admanagement ile alakalı tabloları "İşlemler" seçeneğinden utf-8 e dönüştürebiliyorsun.ve yine ayrıca,gösterilmemiş dediğin yer DÖKÜMANIMDA DEDİĞİN İŞLEM GÖSTERİLMİŞ:
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)
bu konuda yanlışımın olabileceğini de düşünmüyorum.şayet yanlışım olsa bile buradaki üstadların yanlışımı düzelteceğine inanıyorum.
« Last Edit: October 12, 2008, 04:09:25 PM by Sinan ANDIRMAN »

Offline Gogen

  • Semi-Newbie
  • *
  • Posts: 80
  • Gender: Male
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #15 on: October 12, 2008, 04:19:33 PM »
ya sana yanlışın var diyen yok. ben başka bir şey anlatıyorum. sen başka bir şeyi savunuyorsun.
son olarak " Notepad dosyasında açılarak Farklı

Kaydet seçeneği seçilir ve kodlama Utf-8 olarak"  demişsin. tamam böyle bir yöntem var fakat bu bazen forumdaki yazıları büyütebiliyor. utf8 forumlarda modifikasyon kurduktan sonra yazı bütümesi çok oluyor.  en pratiği notepad++ da açıp dönüştürmek. bunu diyorum 2 saattir. 

Offline Sinan ANDIRMAN

  • Sr. Member
  • ****
  • Posts: 906
  • Gender: Male
  • Sarı Fırtına - I am not Super MAN,I am AndırMAN :)
    • Dizayn Turko
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #16 on: October 12, 2008, 04:23:24 PM »
ozaman özür diiyorum senden
notepad yerine notepad ++ olacak tamam ;)

Offline e_f_e_han

  • Jr. Member
  • **
  • Posts: 135
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #17 on: October 14, 2008, 03:01:20 AM »
Arkadaşlar peki sadece soru işareti çıkıyorsa? nası düzenleme yapabiliriz?

Turkish-Utf8 dil . sorun şöyle:

Kategorilerde:
Ho?geldiniz
Vuslat Klan? Kurallar
Yöneticiler Odas?

MEsajlarda:
Sava?lar? 5. dünya / Vuslat klan? forumlar?na ho? geldiniz

bunu nasıl düzeltebiliriz?
fantasticodan kurdum. Türkçe dil dosyasını da üstüne yazdırdım yine değişen olmadı
_EFELERİN EFE'Sİ_
""""""""""""""""   ESKİDENDİ O   """"""""""""""""


Offline Gogen

  • Semi-Newbie
  • *
  • Posts: 80
  • Gender: Male
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #18 on: October 14, 2008, 04:15:29 AM »
bunu dener misin?

settings.php de bul
?>

üstüne ekle
$db_character_set = 'utf8';

Offline e_f_e_han

  • Jr. Member
  • **
  • Posts: 135
Re: Utf-8 Nedir,Utf-8 Hakkında/Özellikleri ve Utf-8 Sorun ve Çözümleri
« Reply #19 on: October 14, 2008, 09:00:49 AM »
zaten var dostum.
_EFELERİN EFE'Sİ_
""""""""""""""""   ESKİDENDİ O   """"""""""""""""