»Kullanıcı: »Şifre: Beni hatırla?
Beles.Org / Teknoloji / Webmaster Genel / Phpmyadmin Mysql Türkçe Karakter Sorunu ve Çözümü


Phpmyadmin Mysql Türkçe Karakter Sorunu ve Çözümü:




Yazdı:  27 Dec 2006 00:25   Son düzenlenme: osman
- Yeni bir sunucuya geçiyoruz.
- Sitemizin yedeğini alıyoruz.
- Bütün siteyi yeni sunucumuza taşıyoruz.
- Veritabanlarımızı oluşturup, sql yedeğini gönderiyoruz.

Buraya kadar her şey normal ama o da ne ??? Site de Türkçe (ı) harfi yerine ? işaretleri ya da garip şekiller çıkıyor.
Hemen sql yedeğimizi kontrol ediyoruz ama yedekte bir sorun olmadığını görüyoruz.
Defalarca sunucuya sql yüklemesi yapıyoruz ama sonuç hala aynı :(

Yukarı da anlattıklarım mysql de üst sürümlere geçen çok sayı da kişinin canını yakmıştır.
Bu canı yanın kişilerden biri de biz olduğumuz için konuya oldukça hakimiz :)

Mysql de Türkçe Karakter Sorunu Nasıl Çözülür:

Çözümün en basit yolu:
Önce sql dosyanızı açıp notepad'e yapıştırın, farklı kaydet ile kayıt yaparken kodlama sistemini ansi seçin. Dosyayı kaydedip sunucunuza yükleyerek deneyin. Sorun çözülmedi mi? O zaman aşağıya doğru okumaya devam edin.

Çözümün biraz daha uzun yolu:
1- Öncelikle sql yedeğinizde ki Türkçe karakterleri kontrol edin.

2- Siteniz de Phpmyadmin sayfasına girin.

3- Mysql bağlantı karşılaştırması yazan yeri seçerek latin5_bin yapın.

http://img105.imageshack.us/img105/9977/mysqllatin5xf9.gif

4- Buradan Bigdump isimli programı indirin.

5- bigdump.php dosyası içinde ki Database configuration alanını sitenize göre düzenleyin.
$filename = ''; yazan yere sql dosyanızın adını yazın.

Örnekler:
Kod:

$filename = 'sitem.sql';
$filename = 'sitem.zip';
$filename = 'sitem.gz';


$db_connection_charset = ''; yazan yere latin5 yazın.

Örnek:
Kod:

$db_connection_charset = 'latin5';


6- Siteniz de yeni bir klasör oluşturun, bigdump.php ve sql dosyanızı yeni oluşturduğunuz klasöre gönderin.
(Burdan sonra lütfen önce aşağıda yazdığım 2. mesajımı okuyun)

7- Adres çubuğuna siteadiniz.com/klasöradı/bigdump.php yazıp scripti çalıştırın.

Artık mysql dosyanız sunucunuza yüklendi.
Şimdi Phpmyadmin'den bir kaç ayarlama yapmamız lazım.
PhpMyadmin'den tablolara baktığınız da karşılaştırma (collation) yazan yerler latin5_bin olmamış olabilir.
Şimdi bunları tek tek değiştirelim.

Tablonuzun yanında ki gözat(browse) simgesine tıklayın. (Bakınız altta ki simge :))
http://img403.imageshack.us/img403/2637/mysqldevamvg8.jpg

Açılan sayfanın sağ üst köşesinde bulunan İşlemler linkine tıklayın. (bknz. resmi)
http://img299.imageshack.us/img299/2240/islemlerxn7.jpg

Karşınıza aşağıda ki gibi bir tablo çıkacak.
Bu tablo da sadece Karşılaştırma yazan yerde ki değeri değiştirip latin5_bin yapın.

http://img403.imageshack.us/img403/862/tablosecenekleridn0.jpg

Git düğmesine tıklayarak bu tablonun ayarlarını tamamlayın. Aynı işlemleri diğer tablolara da uygulayın. Artık karşılaştırma alanlarınız Latin5_bin oldu.
Şimdi kullandığınız php scriptin de, sql sorgusundan sonra şu kodu ekleyin.
Kod:

mysql_query("SET NAMES 'latin5'");

Yapacaklarınız bu kadar

Başka bir sorun yoksa Türkçe karakterlerin artık normal olarak görünmesi gerekiyor.

Sql yükleme sorunsuz tamamlandıktan sonra bigdump.php dosyasını sunucunuzdan silmeyi unutmayın!
Yazdı:  14 Feb 2007 23:05   Son düzenlenme: osman
6. maddeye bi ekleme yapmak istiyorum.
Sadece boş bir veritabanı yaratın, sql dosyalarını yüklemeden önce Phpmyadmin "İşlemler" kısmından veritabanı karşılaştırma alanını latin5 yapın.

İlk önce veritabanı karşılaştırma ayarını latin5 yapmazsanız, sonradan yapsanız bile karakterler düzelmeyecektir!
Ana Sayfa