[Linux-programlama] Re: Python ile MySQL'e yazarken karakter kodlama hatası?

---------

[Linux-programlama] Re: Python ile MySQL'e yazarken karakter kodlama hatası?

From: Mucibirahman İLBUĞA <mucip.ilbuga_at_gmail.com>
Date: Tue, 03 Feb 2009 17:23:23 +0200
Message-ID: <4988616B.1020506@gmail.com>

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 <mucip.ilbuga_at_gmail.com
> <mailto:mucip.ilbuga_at_gmail.com>>
>
> 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
>> Linux-programlama_at_liste.linux.org.tr
>> <mailto:Linux-programlama_at_liste.linux.org.tr>
>> 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 list Linux-programlama_at_liste.linux.org.tr
>> <mailto:Linux-programlama_at_liste.linux.org.tr>
>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> <mailto:Linux-programlama_at_liste.linux.org.tr>
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Tue 03 Feb 2009 - 16:12:57 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.