Zoque.Forum
»
mysql türkçe sıralama sorunu
|
| ://www Web tasarımı ve internet ile ilgili olarak karşılaştığınız problemleri ve merak ettiklerinizi burada tartışabilirsiniz. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 21.07.2004
Yer: istanbul
Yaş: 24
Mesaj: 24
|
mysql türkçe sıralama sorunu
MySQL query orderby kullandığımda ascii olarak sıralama yapıyor. Ç,Ş gibi sıralama da sona atıyor. Bunun için table latin5 yapmak gerekiyormuş. Bu işlemi yapınca da türkçe karakterlerin bulunduğu data girdiğimde "data too long" hatası ile karşılaşıyorum . Bu konuda çözüm nedir. |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 25.08.2001
Yer: Antalya
Yaş: 27
Mesaj: 970
|
Re: mysql türkçe sıralama sorunu
veritabanı ve table ları latin5 yaptıktan sonra kayıt girerken
bir kereye mahsus olmak üzere (mesela mysql_select_db satırından hemen sonra) SET NAMES 'latin5' sorgusunu çalıştır. bunu yaptıktan sonraki girdiğin verilerin de düzgün girilecektir
__________________
Take me back to my boat on the river and I won't cry out any more |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 14.12.2002
Yer: Ankara
Yaş: 29
Mesaj: 90
|
Re: mysql türkçe sıralama sorunu
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. Ben benzer bir sıkınıtıyı, farklı karakter codu kullanan iki MySQL arasında veri taşıması yaparken yaşamıştım. Kolay gelsin,
__________________
Biraz sarı, biraz da kırmızı... |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 13.02.2001
Yer: istanbul
Yaş: 36
Mesaj: 125
|
Re: mysql türkçe sıralama sorunu
konu çok eskiden açılmış ama olsun...
$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'"); PHP sayfalarında sorgular başlamadan önce yukardaki kodları bulunduruyorum. türkçe karakterleri sorunsuz bir MySQL veritabandaki bilgilerin PHP sayfalardaki görünümü sorunlu ise işe yarar. örneğin türkçe karakterler ? şeklinde görünüyorsa.
__________________
sevgiSaygi = true; |
|
|
|
|
|
#5 (permalink) |
|
Re: mysql türkçe sıralama sorunu
Ben de bu problemi kendi Wordpress ile kurdugum blogumda yaşıyorum(şu anda sunucuda bir problem var sanırım açılmıyor sitem). Mesela bağlantılar kısmında Türkçe karakter ile başlayan adresler olursa en sona atıyor veya en başa yanlış hatırlamıyorsam.
|
|
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 02.08.2001
Yer: istanbul
Yaş: 38
Mesaj: 1,542
|
Re: mysql türkçe sıralama sorunu
Wordpress zaten utf-8 çalışıyor. ama 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.
|
|
|
|
|
|
#7 (permalink) | |
|
Re: mysql türkçe sıralama sorunu
Alıntı:
|
||
|
|
|
|
|
#8 (permalink) |
|
Üyelik Tarihi: 17.04.2003
Yer: İstanbul
Yaş: 24
Mesaj: 190
|
Re: mysql türkçe sıralama sorunu
@fatihturan
O bir problem değil ki düzeltmenin yolu olsun. UTF-8 karakter setindeki sıralama bizim alfabemizle aynı değil malesef.
__________________
... Some will win, some will lose Some were born to sing the blues ... |
|
|
|
|
|
#10 (permalink) |
|
Üyelik Tarihi: 28.03.2003
Yer: İzmir
Yaş: 26
Mesaj: 755
|
Re: mysql türkçe sıralama sorunu
önce veritabanına ait karşılaştırmayı (collotion) latin_5_turkish_ci yapıp daha sonra alanları tektek veya toptan latin5_turkish_ci ya çevirebilirsin. Eğer karakterler bozulursa aynı işlemi önce UTF-8 yapıp sonra latin_5 deneyebilirsin.
olmadı yedeğini al kaldır, ve tekrar latin_5 ile veritabanını oluştur.
__________________
#siberarena.com | tournament.online Mesaj mow tarafından 22.09.2006 (13:07) yeniden düzenlendi.. Açıklama: ek |
|
|
|
Zoque'a hoşgeldiniz!