|
Bu bağlamda "charset" konusuna bir soru ilave
edebilir miyim ? MySQL'den UTF-8 veriyi doğrudan SQL ile sorguladığınızda Türkçe karakterlerde büyük küçük harf ayrımına takılıyor (doğal olarak) ve mesela içerisinde küçük "ş" harfi bulunan bir sorgu büyük "Ş" içeren sonuçları döndürmüyor. Bunun -programatik çözümler dışında- veritabanı seviyesinde bir çözümünü biliyor musunuz ? Teşekkürler, Mahir 17-05-2011 15:57, mehmet yazmış: Merhaba, Listelerden takip ettiğim kadarı ile bir süredir karakter seti ile ilgili sorun yaşıyorsunuz.Aslında defalarca yaşadığınız sorunu çözen yanıtlar aldınız ancak sanıyorum bir noktada bir şeyler yanlış gidiyor. Bu sorunu bir zincir gibi düşünün. Zincirin bir halkası kırıldığında kalan halkalarda utf8'i 'force' etmek işe yaramıyor. Adım adım gidecek olursak, (önceki mesajınızdan mysql kullandığınızı hatırlıyorum) 1. mysql veritabanı, tablolar ve alanlar utf8 olarak yaratılmış mı? 2. tabloların içerisindeki veri utf8 olarak mı kaydedilmiş? 3. mysql bağlantısı açtığınsa oturum utf8 olarak set edilmiş mi? (set names utf8) 4. mysql'den aldığın veriyi istemciye gönderirken, json ise header'da content-type içerisinde utf8 belirttiniz mi, html sunuyorsanız meta tag'de utf8 belirttiniz mi? Bu soruların hepsinin cevabı evet ise sorunsuz bir şekilde Türkçe metinleri görüntüleyebiliyor olmanız lazım. Form'dan veri girişi yapılan html sayfalarında meta tag'leri arasında utf8 olarak bildirimde bulunmamış iseniz formdan gelen verinin kendisi utf8 kodlanmış olmayabilir(çoğu varsayılan utf8 artık ama...) bu veriyi utf8 olarak tanımlanmış mysql oturumunuzda, utf8 olan tablolara kaydetseniz de, kaydettiğiniz veri utf8 kodlanmamış olduğundan sorunlar devam edecek. Eskiden girmiş olduğunuz herhangi bir karakter setindeki veriyi iconv ile utf8'e çevirip, tüm ortamlarda utf8 için gerekli tanımları yapıp tekrar denemenizin sorununuzu çözeceğini sanıyorum. html ve php dosyalarının kodlanması, veritabanından gelen dinamik içeriğin kodlamasına etki etmez. Ancak meta-tag'de utf8 belirttiğimiz için dosya içerisindeki karakterlerinde utf8 olarak kodlanmış olması gerekiyor. Kolay gelsin... 17 Mayıs 2011 15:41 tarihinde Emin Tepe <[email protected]> yazdı:serdar bey, dosyalar da utf-8, gelişmiş text editor de tüm dosyaları açıp utf-8 olarak kaydettim yani o konuda sıkıntı yok. ama bunları yapmama rağmen neden hala json verileri bozuk gelir. 17 Mayıs 2011 15:29 tarihinde Serdar KÖYLÜ <[email protected]> yazdı:Büyük ihtimalle siz header için "charset: utf-8" gibi bir şey yaptınız sadece. Ama HTML içeriği UTF-8 değilde, orjinal karakter seti neydiyse o halde kaldı. iconv --from-code=ISO-8859-1 --to-code=UTF-8 ./eski.html > ./yeni.html gibi bir şeyle, dosyalardaki eski karakterleri yenisiyle değiştirmeniz gerekiyor sanıyorum. 2011/5/17 Emin Tepe <[email protected]>:arkadaşlar, html dosyalarının charseti utf-8 yaptım ve bir veriyi güncelledim. tekrar json ile veriyi çektiğimde gene karakterlerde problem var. sorun çıkıyor. mesela Rüzgar ÖZDEMYR Ruhullah ÇELYK Müslim ATSIZ Muhammed BOZO?LAN şeklinde geliyor. aslı Rüzgar ÖZDEMİR Ruhullah ÇELİK Müslim ATSIZ Muhammed BOZOĞLAN olması lazım. neden oluyor acaba :( 17 Mayıs 2011 14:30 tarihinde Bülent Aydin <[email protected]> yazdı:utf-8 + 2011/5/17 Nuri AKMAN <[email protected]>Ömer Bey, Veri tabanı karakter seti de UTF8 olmalı değil mi? Bir sorum daha olacak size: .html ve .php doslayarının encoding'i ne olmalı? UTF8 without BOM mu? Selamlar, Nuri Akman 2011/5/17 Omer Barlas <[email protected]>On 17-05-2011 11:33, Emin Tepe wrote:arkadaşlar, sizlerden birşey öğrenmek istiyorum. web sitelerinde default olarak charset olarak utf-8 mi kullanmak lazım yoksa farklı charsetler kullanılır mı? farklı charset kullanılırsa avantaşları nedir dezavantajları nedir. databaseden json ile cektiğim verilerden bir sürü sıkıntı yaşadım, karakterler bozuk çıkıyor, iconv ile düzelmiyor vs. charset olarak iso-8859-9 kullanmıştım, insert ederkende bu charsetli sayfadan insert yaptığım için aynı charset ile inser etmiştir.utf-8 kesin çözüm, sonuçta w3c ve email standartlarına göre her istemci UTF-8 okuyabilecek şekilde üretilmeli, ve şu anda da hemen hemen tüm işletim sistemleri -evet, windows dahil- UTF-8 tabanlı çalışıyor. Normalde ISO kodlu sistemlerde her karakter 1 byte tutarken, UTF-8'de her karakter 1 veya 2 byte yer kaplıyor, bu da doğal olarak yer ihtiyacını arttırıyor. Eğer yoğun bir şekilde metin tutuyorsan (bkz. devasa forumlar) ve DB'nin alanı hosting vs sıkıntısından dolayı çok dert oluyorsa ancak o zaman ISO koduna gitmeyi tavsiye ederim. çok detaylı bir karşılaştırma için; http://en.wikipedia.org/wiki/UTF-8 -- Omer Barlas [email protected] _______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php-- Bülent Aydın BSc.Math.Engineering, MBA OpenPoint, with creative ideas IT Consultancy & Development Services Aschaffenburg/ Germany Tel: +49 6021 1304664 Mobile : 0163 7870836 e-mail: [email protected] Web Site: http://www.openpoint.de _______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php |
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
