Subject Re: [firebird-python] different encoding for varchar and blob
Author Peter Irbizon
hello, thank a lot.
 
but when I use:
import kinterbasdb
kinterbasdb.init(type_conv=300)
self.con = kinterbasdb.connect(dsn=os.path.join(module_path(), folder, db), user=usr, password=psw)
self.cur = self.con.cursor()
select...
self.con.close()
 
I am getting ProgrammingError: Cannot initialize module more than once when I try to use it again. This happens when I use .init(type_conv) Why? Any workaround? thanks.
2012/4/19 Pavel Cisar <pcisar@...>
 

Hi,

Dne 18.4.2012 22:58, Peter Irbizon napsal(a):


>
> I have table with
> USER VARCHAR(100) CHARACTER SET WIN1250,
> NOTE BLOB SUB_TYPE 1 CHARACTER SET WIN1250,
> But when I pick up data from this table with kinterbasdb in python 2.7
> (# -*- coding: utf-8 -*-) VARCHAR field is ok but BLOB field seems to be
> "corrupted" and I must decode it with decode('cp1250'). Why this
> happens? Why it is necessary to decode BLOB field only and not VARCHAR?

You need to call KInterbasDB.init(type_conv=300) and RTFM:
http://www.firebirdsql.org/file/documentation/drivers_documentation/python/3.3.0/beyond-python-db-api.html#parameter-conversion

best regards
Pavel Cisar
IBPhoenix