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

Cevap