Giris cikislarin tamaminin unicode olmasi sorunu cozer sanirim. Tkinter'i pek bilmiyorum ancak input'lari unicode almanin bir yolu vardir sanirim. Ayni sekilde mysql connection'ini da unicode olmali. show variables like '%char%' sorgusuyla gorebilirsiniz bu degerleri...tabi bu sorguyu python uzerinden yapmaniz lazim...
2009/2/3 Mucibirahman İLBUĞA <[email protected]> > Selamlar, > Şuna karar kıldım: Ben bu character coding olayını anlayamıyorum! > Dediğiniz gibi cp1254 ile sorunsuz veritabanına yazdı. Ancak veritabanından > okuyup Tkinter listbox'una eklerken bu defa sıkıntı çıkıyor! Yani bir türlü > karakter kodlamalarını yapamadım gitti. Bu kaç defadır böyle oluyor! :( > > Yok mudur bunun mantığını tam olarak anlatan bir kaynak :( > > Bu defa alınan hata: > L.insert(END, str(row[1]) + ' '*60 + "-" + str(row[0])) > UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9: > ordinal not in range(128) > > Kolay gelsin, > Mucip:) > > > > Ismail ASCI yazmış: > > Merhabalar, > Mysql'e girmek istediginiz veriyi nasil aliyorsunuz? > Muhtemelen girdiginiz veri unicode olmadigi icin aliyorsunuz bu hatayi. > Eger veri unicode degilse ve boyle olmak zorundaysa unicode('string', > encoding='input_encoding', errors='ignore') deneyebilirsiniz... > > input_encoding girilen verinin karakter kodlamasi, mesela windows turkce > icin cp1254 olmali... > > 2009/2/3 Mucibirahman İLBUĞA <[email protected]> > >> Selamlar, >> Olmadı.. :( >> Gelen hata: >> >> return unicode(word,'utf-8') >> UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-3: >> invalid data >> >> >> >> Kolay gelsin, >> Mucip:) >> >> >> >> Aydın ŞEN yazmış: >> >> >> File "/usr/lib/python2.4/site-packages/MySQLdb/cursors.py", line 146, >>> in execute >>> query = query.encode(charset) >>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xfd in position 83: >>> ordinal not in range(128) >>> >>> -- >>> Kolay gelsin, >>> Mucip:) >>> >>> _______________________________________________ >>> Linux-programlama mailing list >>> [email protected] >>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama >>> >> >> Öntanımlı olarak ascii karakter seti kullanıldığı için Türkçe karakterleri >> işleyemiyor. Şöyle [1] bir fonksiyondan geçirirseniz düzelecektir. >> >> def getUnicode(self, word): >> return unicode(word, 'utf-8') >> >> -- >> Aydın ŞEN >> >> Ege Üniversitesi >> Uluslararası Bilgisayar Enstitüsü >> >> ------------------------------ >> >> _______________________________________________ >> Linux-programlama mailing >> [email protected]http://liste.linux.org.tr/mailman/listinfo/linux-programlama >> >> >> _______________________________________________ >> Linux-programlama mailing list >> [email protected] >> http://liste.linux.org.tr/mailman/listinfo/linux-programlama >> >> > ------------------------------ > > _______________________________________________ > Linux-programlama mailing > [email protected]http://liste.linux.org.tr/mailman/listinfo/linux-programlama > > > _______________________________________________ > Linux-programlama mailing list > [email protected] > http://liste.linux.org.tr/mailman/listinfo/linux-programlama > >
_______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama
