[python] pymssql a collation

Jan Bednařík jan.bednarik na gmail.com
Úterý Září 8 19:38:49 CEST 2009


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
>>
>


Další informace o konferenci Python