Geniş Ekran Modu Otomatik Ekran Boyutu Font Boyutunu Azalt Font Boyutunu Azalt Font Boyutunu Normal Yap Yazdır

Mysql Türkçe Karakter Problemi

Php+mysql Tabanl? Site Tasar?mlar? Haz?rlayan Yeni Arkada?lar?n En Büyük Problemleridir, Mysql 4 Üzerindeki Karakter Problemleri.bu Sadece Mysql 4 Üzerinde Olu?an Bir?ey. Yani Mysql 4'ler Üstünde Karakter Kodlama Seçenekleri Söz Konusu. Ayr?ca Türkçe Karakter ?çeren S?ralamalardada Sorunlar Ç?kmaktad?r.

www.dijitalders.comYeni bir veritaban? yaratt???n?zda, Kar??la?t?rma(Collation) de?erinin latin1_general_ci, latin1_swedish_ci v.b. oldu?unu göreceksiniz. Siz bu veritaban? üstüne tablolar?n?z? yarat?r ve kullan?ma haz?r hale getirirsiniz. Fakat her tablo için varsay?lan kar??la?t?rma de?eri, yine veritaban?nda kullan?lan de?er olacakt?r.
Asl?nda kar??la?t?rma de?eri, tablolar?n dil kodlamas?d?r. Ve sadece metin içerikli sütunlarda görünmektedir. Bunun anlam?, o sütunda seçmi? oldu?unuz dilin kullan?laca?? diyebilirim. Standart olarak swedish geçer. Sizlerin bu sütunlara yollayaca??n?z kay?tlar ise, isveçce dili göz önünde bulundurularak girilir. Bundan da ?u ç?kar: isveçcede Türkçe karakter yer almaz, bu yüzden Türkçe karakterler yerine ? v.b. karakter bulacaks?n?z. San?r?m genel olarak anlatabildim bu k?sm?.

Çözüm Yolu

Yeni bir veritaban? yarat?rken, kar??la?t?rma de?erini daima latin5_turkish_ci seçin. Dilimize ait karakter kodu budur. Bu ?ekilde veritaban?n? yarat?rsan?z, tablolar için yapman?z gereken fazladan bir?ey yok. Tablo yarat?rken, metin de?erli sütunlar?n kar??la?t?rma de?erlerini bo? b?rakabilir yada yine latin5_turkish_ci seçebilirsiniz.

mysql_query("CREATE DATABASE `veritabanimiz` DEFAULT CHARACTER SET latin5 COLLATE latin5_turkish_ci");

S?ra php kodlar?n?z? yazmaya geldi?inde, tabi ki tablonuzun kar??la?t?rma de?erini sql dilinde belirtmelisiniz. Bunun için a?a??da verece?im kodu kullanacaks?n?z. Bunu veritaban? ba?lant?s? kurup, ilgili veritaban?n? seçti?iniz sat?r?n bir alt sat?rana girebilirsiniz.

mysql_query("SET NAMES 'latin5'");


Bu kodumuz tüm sorgularda, kar??la?t?rma de?erinin latin5 olaca??n? söyler. Böylelikte girece?iniz Türkçe karakterler sorunsuz ?ekilde tablolara yaz?lacakt?r.

Mysql 4 üstünde Türkçe karakter hatas?n? bu ?ekilde çözebilirsiniz. Ayr?ca benzeri uygumalay?, haz?r içerik yönetim kodlamalar? üstüne de uygulayabilirsiniz.

Bir ba?ka yöntem ise MySQL'i UTF-8 uyumlu olarak kurmak.
Unicode karakterleri kullanmak üzere "install" edilen MySQL üzerinde, yine unicode de?erler alan tablolarda s?ralama da unicode karakter s?ralamas?na göre yap?l?yor. Yani Türkçe karakterler olmas? gereken s?ras?yla yans?t?labiliyor.

Kurulurken "unicode" karakterler seçilmemi? ise, bunu sonradan de?i?tirme imkan? var m? bilmiyorum. Ancak olsa dahi böyle bir de?i?im s?k?nt? yaratacakt?r. Daha önceden tan?mlanm?? olan tablolardaki türkçe karakterler bozulacak oldu?undan dolay? ciddi problemler olu?turabilir.

utf-8 de harfleri türkçe s?ralamaz; zira ? s'den sonra gelmez utf-8'de, z'den bir hayli ilerdedir. s?ralama yaparken karakterlerin byte de?erleri önem ta??r haliyle.

$cnn = mysql_pconnect($hostname_cnn, $username_cnn, $password_cnn) or die(mysql_error());

mysql_query("SET NAMES 'latin5'");
mysql_query("SET character_set_connection = 'latin5'");
mysql_query("SET character_set_client = 'latin5'");
mysql_query("SET character_set_results = 'latin5'");



Kaynak www.dmry.net/mysql-turkce-karakter-problemi
Bu içerikle ilgili Yorumunuzu eklemek için burayı tıklayınız.

Yorumlar

1 yorum
31 Mart 2010 13:45:35, Çarşamba
hayali
teşekkürler-ama önce sen kendi türkçe karakter sorununu bi hallet kardeşş..:

Mysql Veri Tabanı

Mysql Tablo Türleri
MyISAM, InnoDB...
Mysql İle Türkçe Karakter Sıralaması
Yeni sürüm mysql veritabanlarında karakter kodları var bildiğiniz üzere. Çoğu kişi için sıkıntı oldu...
Mysql Veritabanını Başka Bir Makinaya Kopyalamak
Bu işlem için mysqldump en çok kullanılan seçenektir.
Büyük Database’leri Sql Dump İle Yedekleme V...
Mysql de adını bildiğimiz bir veritabanının yedeğini almak için mysqldump komutunu kullanabiliriz, b...
Mysql Veri Tipleri
Mysqlde kullanılabilecek veri tipleri, anlamları ve alabilecekleri değerler
MySQL ve Triggerlar
MySQL 5. 0 alpha'ya kadar trigger desteği bulunmayan bir veritabanı yönetim sistemi olduğundan ç...

    Ödev Gönder | İncelenmeyi Bekleyen Ödevler | Uygulama Resimleri | Uygulama Resmi Gönder | İnternet Üzerinden Sınav | Test Sorusu Gönder | Sınıf Karneleri | Anketler | Linkler
    www.dijitalders.com

    bilgidijitalders.com
    Bu sayfalar en iyi 1024 x 768 ekran çözünürlüğünde görüntülenir.
    Site içerikleri, site kullanıcıları tarafından yollanan içeriklerdir. Her hangi bir içeriğin lisanslı yahut şahsınıza ait olduğunu tarafımıza iletirseniz gerekli düzenlemeyi yapacağız. Kullanılan içerikler, siteyi kullanan öğrenciler ve araştırmacılar için kolaylık sağlamak amacıyla oluşturulmuştur.
    Sayfada HATA! Olduğunu Düşünüyorsanız | Sık Kullanılanlara Ekle | www.dijitalders.com'u Ana Sayfam Yap | Web Tasarımcıya e-Posta
    Bu site 844,534 kişi tarafından ziyaret edilmiştir.