From: Erkin Tek (erkintek@fotograf.web.tr)
Date: Wed 04 Apr 2007 - 09:11:13 EEST
windows 1254'da fark sadece tırnak işaretleri.
şimdi bikaç kavram var,
1) bağlantı kodlaması
2) veritabanı kodlaması
3) cvs dosyanızın kodlaması
veritabanı kodlaması yok aslında, karşılaştırması var, ö harfi o'dan sonra
bilgisi olarak düşünebiliriz.
cvs dosyanızın kodlamasında bir sıkıntı yok. Demekki sıkıntı sadece bağlantı
kodlamasında. Bunu ne yazıkki ubuntu "eşşekliği" kavramıyla
betimleyebileceğim, standart bağlantının iso-8859-1 veya latin-1'den
olmasından dolayı. tanımı my.cnf'de
[client] altına character_set_client= utf-8
[mysqld] altına default-character-set= utf8
ekleyerek (ki şu durumda client önemli) çözebilirsiniz. Yada mysql'den
bağlanırken
--default-character-set=name
şeklinde bağlanabilirsiniz.
Eğer php içinden bağlanırken öntanımlı ayarları uçurmakta bir sakınca yok
mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET "utf8"');
utf-8 ilerde arapça, efendim rusça, ne biliyim çince fln kullanırsanız diye
kapıyı açık bırakmak için kullanmanızı öneririm.
bunun için de iconv -f iso-8859-9 -t utf-8 dosya > yenidosya şeklinde
kullanabileceğiniz pek şugar bir komutumuz mevcut. dizin dönüştürmek için
kirli ama çalışan bi kodum var python'da iletebilirim isteyene.
Sal 03 Nis 2007 03:50 tarihinde, Murat Birben şunları yazmıştı:
> Merhaba,
>
> csv den mysql e data aktarırken karakterlerde problem çıkıyor. CSV'nin
> karakter kodlaması windows-1254, mysql database'in collation ı ise
> latin5_turkish_ci...
>
> Böyle bir problem ile daha önce karşılaşan ve ya çözüm yolunu bilen var
> mı??
>
> İyi günler, iyi çalışmalar...
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama