PHP, MySQL ve UTF8 Karakter Seti

erhandenizz

Doçent
Katılım
28 Şubat 2009
Mesajlar
621
Reaksiyon puanı
2
Puanları
18
Arkadaşlar,
Uzun zamandır PHP ile çeşitli siteler yapıyorum.
Sayfalarımda kullandığım karakter seti "iso-8859-9". Mysql veritabanında kullandığım karakter kümesi ise "latin1_swedish_ci". Bu güne kadar çok bir sorunla karşılaşmadım. Türkçe karakterler ile ilgili problem olabileceğini (arama motorlarında)düşünüyorum. Gerekli durumlarda "latin5_turkish_ci" kullandığımda oluyor.

Ama günümüz standartlarına uyum sağlamak adına UTF8 ile çalışmam gerektiğini düşünüyorum. Yaptığım araştırmalarda UTF8 standardı dünya genelinde kabul görmüş durumda.

Sormak istediğim soru ise: UTF8 karakter setinin bana getireceği artılar (+) ve eksiler (-) nelerdir. Özellikle google aramalarında ve türkçe karakter sorununda bana sağlayacağı kolaylıklar var mıdır?

Ayrıca Mysql karakter kümesi olarak UTF8 i nasıl kullanmalıyım? (UTF8_turkish_ci , UTF8_general_ci , UTF8_swedish_ci , UTF8_unicode_ci ) .

Konu hakkında tecrübeli arkadaşların fikirlerini almak isterim :)
 
Katılım
31 Aralık 2007
Mesajlar
17,486
Reaksiyon puanı
189
Puanları
243
Browserların encoding çözümlemesinde sorun yaşamazsın. Ben PHP ile her zaman UTF8 çalışırım. MySQL'de de UTF8_unicode_ci kullanırım. Şu ana kadar hiç sıkıntı yaşamadım. Öbür türlü bazen veriler gelirken yada gösterilirken sıkıntı yaşanabiliyor. UTF8 format olarak dünya alfabelerinin çoğundaki karakterleri desteklediği için sıkıntısız kullanabilirsin...
 

byyasin

Doçent
Katılım
24 Ağustos 2009
Mesajlar
532
Reaksiyon puanı
5
Puanları
18
Merhabalar,
Yaklaşık 4 senedir php ile ilgileniyorum. son 2 senedir professional olarak çalışıyorum MVC yapısı frameworkler v.s.

Mevzuya gelecek olursak aynı sorundan muzdarip birisi olarak bende zamanında çok yaşadım bu problemi.

Artıları UTF-8 ile tüm dilleri aynı anda kullanbilirsin arapça türkçe v.s. hiç farketmez
Ajax ile Flash ile iletişim kurman gereken yerlerde sorun yaşamazsın.
Sürekli charsetleri birbirine convert etmekden kurtulursun ve daha bir çok avantaj kullandıkça ortaya çıkar.

Veritabanında utf-8 i collation olarak da unicode_ci seçmen yeterli.

Ayrıca bunun dışında dosyaların karakter setleride utf-8 olması gerekir yoksa
Dbden düzgün çekersin ama dosyalardaki yazıların düzgün olmaz bunuda kullanadığın program dream sa eğer ayarlarda new document kısmında bulursun.
Notepad++ ise convert utf-8 without bom u seçmen gerek
php designer ise sol altta windows Ansi yazar sağ tıklayıp utf-8 i seçersin böylece hem dosyada hem veritabanında utf çalışmış olursun

Eksilerine gelince.
Eskiden yazmış olduğun sistemler ile entegrasyonda sıkıntı yaşabilirsin :)
Şuan ben yaşıyorum çünkü :) o kadar dandik yazmışımki topla topla bitmiyor :)
 

orcnd

Dekan
Katılım
13 Ekim 2008
Mesajlar
6,394
Reaksiyon puanı
255
Puanları
243
en büyük sorun ajax'da çıkıyor. ileride javascript ile uğraşmayı planlıyorsan utf-8 büyük ihtiyaç
 

mgsmus

Asistan
Katılım
1 Aralık 2009
Mesajlar
125
Reaksiyon puanı
5
Puanları
0
Ben de aynı şekilde tüm işlemlerimde dosyalar olsun veritabanı olsun daima utf-8 kullanırım. Geçmişte dil kodlamasından dili yananlardanım açıkçası. 5 senedir iso'ya elimi sürmedim :)
 

erhandenizz

Doçent
Katılım
28 Şubat 2009
Mesajlar
621
Reaksiyon puanı
2
Puanları
18
evet ajax ile ne kadar cebelleştiğimi ben bilirim. sonunda çözmüştüm ama ne kadar convert yaptığımı siz hesap edin :D ajax ve javascript benim olmazsa olmazlarımdan. düşündüren tarafı ise eski projeler. utf8 standardına mutlaka geçeceğim artık şart oldu.

ne gariptir bende 3 yıldır iso kullanıyorum :) sanırım bu PHP geliştiricilerin aklı başına sonradan geliyor :D

html,php = utf8 && Mysql = utf8_unicode_ci :thumbup::thumbup:
 

bysuker

Öğrenci
Katılım
1 Temmuz 2014
Mesajlar
1
Reaksiyon puanı
0
Puanları
0
Merhaba arkadaşlar,
Yapmış olduğum bir sitede Türkçe, İngilizce ve Arapça dillerinde yaptım. Fakat arapça dilinde panel üzerinden eklediğim arapça metni görebiliyorum ama anasayfa da gözükmüyor. Bu konuda yardımcı olsanız çok sevinirim. Şimdiden teşekkürler.

- - - Mesaj Güncellendi - - -

Merhaba arkadaşlar,
Yapmış olduğum bir sitede Türkçe, İngilizce ve Arapça dillerinde yaptım. Fakat arapça dilinde panel üzerinden eklediğim arapça metni görebiliyorum ama anasayfa da gözükmüyor. Bu konuda yardımcı olsanız çok sevinirim. Şimdiden teşekkürler.
 
Üst