Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: python encoding  (Přečteno 1985 krát)

kisto

  • Návštěvník
  • Příspěvků: 58
python encoding
« kdy: 07 Března 2011, 16:52:21 »
Ahojte mam takyto problem chcem previest data z dbf do postgre ale dbfko je v kodovani cp852 a databaza v utf8 a ked pokusim nastavit kodovanie tej premennej tak dostanem chybu :" UnicodeDecodeError: 'ascii' codec can't decode byte 0xac in position 0: ordinal not in range(128)"

starenka

  • Stálý člen
  • **
  • Příspěvků: 1276
  • Karma: plynová [zapalovač] [hasičák]
    • /home/starenka
Re: python encoding
« Odpověď #1 kdy: 18 Března 2011, 22:47:09 »
co je nastaveni kodovani? nemuzes prevadet na ascii neco, co je mimo ascii (pokud nepouzijes translit apod)

Kód: [Vybrat]
>>> x = u'obřízka'
>>> x.encode('cp852')
'ob\xfd\xa1zka'
>>> x.encode('utf8')
'ob\xc5\x99\xc3\xadzka'
>>> x.encode('ascii')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-3: ordinal not in range(128)

btw doporucuju procist http://farmdev.com/talks/unicode/ a na komunikaci s db pouzit neco, co (mimo jine) kodovani resi. napr sqlalchemy
« Poslední změna: 18 Března 2011, 22:49:54 od starenka »
mojenka | blozinek v2 | starej blozinek | krotim hady za penize | UJ! Kalužátor

Debian testing vrní v Thinkpadu X200/bedně/EEE 900a, MasoX Tiger v lampe

 

Provoz zaštiťuje spolek OpenAlt.