I'm a newbie and just installed the zope3 package on windows. I'm writing because i believe there is a bug in the mysqlda adaptor add-in package.
My configuration is as follows: * OS = Windows XP Professional SP2 * Python Version = Python-2.3.5.exe * Zope Version = ZopeX3-3.0.0.win32-py2.3.exe * MySQL-Python adaptor = MySQL-python.exe-1.0.0.win32-my4.1-py2.3.exe * Zope MySQL Package = mysqldbda-1.0.0.tgz * MySQL Version = mysql-4.1.10-win32.zip
I followed the installation instructions but when i tried to test the db connection through the web interface of zope 3, the following error was returned:
unknown encoding: latin1_swedish_ci
After reviewing the code, i found a way to correct the problem. I modified the package's adaptor.py package. The exact class modified was MySQLStringConverter.
Before: class MySQLStringConverter: def __init__(self, encoding): self.encoding = encoding
def __call__(self, string): if isinstance(string, str): return string.decode(self.encoding) elif isinstance(string, unicode): return string else: return string
After: class MySQLStringConverter: def __init__(self, encoding): self.encoding = encoding
def __call__(self, string): if isinstance(string, str): return string elif isinstance(string, unicode): return string else: return string
In other words i believe the error occurs when a string decode method is attempted. Thus the hack i did to fix it was to just return the string value instead and it seems to work fine now.
My purpose in writing is:
a) To notify the developers of this add-in of the possible bug
b) To see if anyone has a more elegant solution. Being new, i'm 99% my workaround is a very yucky hack and doesn't solve the problem in a elegant manner.
_______________________________________________ Zope3-dev mailing list Zope3email@example.com Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com