[python] pymssql a collation

zu1234 zu1234 na seznam.cz
Úterý Září 8 21:34:33 CEST 2009


Chlapi,
děkuji za reakce a kód-y !
Ale prostě mne zarazily dvě věci: jednak proč cp852 a jednak proč to 
nemohu změnit když fce pymssql.connect na to má dokonce parametr charset.
Ale zatím to funguje a já holt nemusím fšemu rozumět :-)))
ZU


Jan Bednařík napsal(a):
> Sorry, četl jsem tam MY-SQL ;-)
> 
> Pokud máš skript v UTF-8, pak stačí na stringy z MS SQL použít
> unicode(), asi takto:
> 
> def unicode_string(s, enc):
>     return unicode(s, enc) if type(s) == type("") else s
> 
> def unicode_tuple(t, enc):
>     return tuple([unicode_string(i, enc) for i in t])
> 
> ...
> for row in cursor.fetchall():
>     row = unicode_tuple(row, "windows-1250")
>     ...
> 
> Honza
> 
> 
> 2009/9/8 Jan Bednařík <jan.bednarik na gmail.com>:
>> Po připojení (vytvoření cursoru) proveď SQL:
>>
>> SET NAMES 'cp1250';
>>
>> Info zde: http://molhanec.net/mysql_cestina_minifaq.html
>>
>> Honza
>>
>>
>> 2009/9/8 zu1234 <zu1234 na seznam.cz>:
>>> Pokud se připojím na MS-SQL databázi pomocí pymssql dostávám data v kódování
>>> cp852 ('dosová čeština') přesto že kódování dat je Czech_CI_AS což je cp1250
>>>  ('windows čeština').
>>> ???
>>> Je to vlastnost nebo chyba?
>>> Dá se to změnit?
>>>
>>> ZU
>>> _______________________________________________
>>> Python mailing list
>>> Python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 


Další informace o konferenci Python