Mysql türkçe karekter sorunu

CorsaiR

Emektar
27 Ara 2005
1,228
18
Çekirdekten
Mysql türkçe karekter sorunu
Tanımlama:
Biz phpciler için vazgeçilmez biricik veritabanımız Mysql,
hüzünlü bir sonbahar akşama MySQL 4.1.x versiyonunu tüm dünyaya duyurdu.
Burada garip olan bişey yoktu taki “Collation” denen kavramını görene kadar.
İlk gördügümde pek bir gereksiz gelmişti bu “Collation” kavramı bana.Hatta collation = sorunlar zincirinin ilk halkası olacağını daha ilk görüşte hissetmeye başlamıştım...Bu yeni gelen “Collation” olayı Türkçe karakterlerde sorun yaratıyor ve beni çileden çıkartıyordu. O zaman geçici bir çözüm olarak localhost da eski MySQL sürümü kullanarak acılarıma son vermiştim. (O anı kurtarma içgüdüsüydü bu sanırım) Fakat çalıştığım hostlarım çoktan yeni mysql e geçmişti. Artık çağa ayak uydurmanın zamanı gelmişti.

Bu “Collation” kavramı nedir, niye, çıktı nereden geldi başımıza, dertsiz başımıza dert mi katmak istiyor mysql programcıları diye düşünürken “Collation” kavramının mantığını ögrenince, bizim mysql programcı abilerimizin alınlarından öpmek geldi içimden.

MySQL’e “Collation” yapısını ekleyerek daha modern, gelişmiş ve onbinlerce dolarlık maliyeti olan veritabanlarındaki (Oracle gibi) bir standarda kavuşturmuşlardı biz gariban phpcileri; “Collation” olayının gelmesi ile sadece ilgili karakter setini yükleyerek gereksiz karakterlerden kaynaklanan (önceleri bütün dillere özgü karakter setlerini yükleyerek evrensel bir destek sağlıyordu mysql, çince gibi bir dil yapısı destegini bile yüklüyorduk bilgisayarımıza yada hostaki makinamıza ama ne gerek vardı ki, diye düşünüp geliştirmişler yeni “Collation” olayını) ağırlıktan kurtararak sorgu cevap sürelerinde kayda değer derecede azalmalar sağladığını öğrendim.Daha az cpu kullanarak daha hızlı sürede sorgu cevap mekanizmasına “Collation” yapısına geçiş ile kavuşmuş olduk.

Aslında ortada mysql türkçe karekter sorunu diye bir olay yoktur.Sorun bizim veri tabanlarımızı yanlış karakter setinde oluşturmamız ve server ayarlarınında birebir yanlış configürasyonundan kaynaklanmaktaymış.Ben bilgisayarımda appserv kullanırım.Herşeye öncelikle kendi bilgisayarımdaki karekter setinin dogru tanımlanması gerektiğini düşüneren başladım ve c:\windows\ klasöründeki my.ini dosyasını editlemek için kolları sıvadım bu dosyayı açtım:
my.ini dosyasında ki default-character-set=latin1 şeklindeki satırları default-character-set=latin5 yaptım.içimde bir iş yapmanın saadeti ile arkama yaslanıp olayın kefini çıkartmayı düşünürken birden karekterlerin tekrar gümlediğini görünce hevesim yine kursağımda kaldı. Biraz daha kurcalayınca kullandığınız veritabanının dolayısıyla tabloların da ilgili Collation ayarlarının latin5_turkish_ci olması gerektiğini gördüm. Fakat ne yazık ki benim
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.