Re: [python] python 3 cp1250 retazec do utf-8
napr. 'doruèené' a potrebujem mať 'doručené' v pyodbc kódovanie neriešim (v connect mam len db, user a pass) V odbc driveri je nastavene db aj client locale na en_US.819, ale data do db aplikacia uklada v lokalnom windows kodovanie (cp1250) ;-) Akykolvek pokus o zmenu kovania v odbc konci odmietnutim spojenia na db (testovane vo winsql). 2014-08-14 16:08 GMT+02:00 Petr Viktorin encu...@gmail.com: 2014-08-14 15:58 GMT+02:00 Zdenko Podobný zdpos...@gmail.com: Ahojte, ako prekodovat cp1250 retazec do utf-8 v pythone 3.4.1? V 2.7 to bolo jednoduche: retazec.decode('cp1250'). Retazec je vystup z databazy cez pyodbc, kde neviem ovplyvnit kodovanie... Co dostáváš za řetězec? Respektive, jaké kódování předpokládá ono pyodbc? ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] python 3 cp1250 retazec do utf-8
Já to kdysi řešil přes translate - Původní zpráva - Od: Zdenko Podobný problém je v tom, ze ja mam v x = 'doruèené' a potrebujem z toho dostať 'doručené' ;-) ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] python 3 cp1250 retazec do utf-8
Tož problém je v tom, že databáze předpokládá kódování latin1, a na bytestringu b'doru\xe8en\xe9' za tebe udělala `decode('latin1')`. Tenhle krok je potřeba vrátit zpět, a pak se dá bytestring dekódovat správným kódováním. 'doruèené'.encode('latin1').decode('cp1250') 'doručené' 2014-08-14 16:49 GMT+02:00 Jaroslav Lukesh luk...@seznam.cz: Já to kdysi řešil přes translate - Původní zpráva - Od: Zdenko Podobný problém je v tom, ze ja mam v x = 'doruèené' a potrebujem z toho dostať 'doručené' ;-) ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz
Re: [python] python 3 cp1250 retazec do utf-8
Kecám. Blbost. Ten connection string se předá, jak je. Ale nějak se tam to kódování musí vnutit dřív. Nebo se musí dosáhnout toho, aby to pyodbc nechal v binární podobě (bytes). P. __ Od: Petr Přikryl prik...@atlas.cz Komu: Konference PyCZ python@py.cz Datum: 14.08.2014 17:20 Předmět: Re: [python] python 3 cp1250 retazec do utf-8 Vrací se to 'doruèené' jako string nebo jako bytes? Pokud je to unicode string, tak už je to v tom okamžiku špatně a melo by se to řešit už dřív a ne až dodatečně. Connection string bere i další parametry, které nepředává ovladači, ale pyodbc je použije pro sebe. Nezkoušel jsem to, ale letmo jsem v dokumentaci narazil na něco takového: 'CHARSET=cp1250'. Je tam ještě nějaký parametr, aby se vše vracelo jako unicode. P. __ Od: Zdenko Podobný zdpos...@gmail.com Komu: Konference PyCZ python@py.cz Datum: 14.08.2014 16:27 Předmět: Re: [python] python 3 cp1250 retazec do utf-8 napr. 'doruèené' a potrebujem mať 'doručené' v pyodbc kódovanie neriešim (v connect mam len db, user a pass) V odbc driveri je nastavene db aj client locale na en_US.819, ale data do db aplikacia uklada v lokalnom windows kodovanie (cp1250) ;-) Akykolvek pokus o zmenu kovania v odbc konci odmietnutim spojenia na db (testovane vo winsql). 2014-08-14 16:08 GMT+02:00 Petr Viktorin encu...@gmail.com: 2014-08-14 15:58 GMT+02:00 Zdenko Podobný zdpos...@gmail.com: Ahojte, ako prekodovat cp1250 retazec do utf-8 v pythone 3.4.1? V 2.7 to bolo jednoduche: retazec.decode('cp1250'). Retazec je vystup z databazy cez pyodbc, kde neviem ovplyvnit kodovanie... Co dostáváš za řetězec? Respektive, jaké kódování předpokládá ono pyodbc? ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz -- ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz ___ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz