[EMAIL PROTECTED] wrote: > I've got this error (see the path in last line) > > db=MySQLdb.connect(host='localhost',use_unicode = True, charset = > "Windows-1251",user='root',passwd='12',db='articulos') > File "C:\Python24\Lib\site-packages\MySQLdb\__init__.py", line 74, in > Connect > return Connection(*args, **kwargs) > File "C:\Python24\lib\site-packages\MySQLdb\connections.py", line 198, in > __init__ > self.set_character_set(charset) > File "C:\Python24\lib\site-packages\MySQLdb\connections.py", line 277, in > set_character_set > super(Connection, self).set_character_set(charset) > OperationalError: (2019, "Can't initialize character set Windows-1251 (path: > C:\\mysql\\\\share\\charsets\\)") > > The truth of the matter is, MySQL is not installed in that path, but into > Program Files. > I don't know where the hardcoding is, but it is certainly somewhere. Except > MySQL is reporting a wrong installation path. > I haven't found any other topic in the list about this problem. > > I'm using Python 2.4 and latest MySQLdb. Have anyone heard of this issue and > how to fix it? > > Thanks a lot.
Well, for one thing, MySQL doesn't have a character set called "Windows-1251", which is an obsolete Cyrillic variant of Windows. See the list of MySQL character sets at: "http://dev.mysql.com/doc/refman/5.0/en/charset-charsets.html" MySQL does have "cp1251", which is apparently the same thing. Be aware that in Python, there are really only two character sets - ASCII and Unicode. The "upper code page" thing is deprecated, and you can't do some string operations on characters with values > 128. It's best to convert input to Unicode, run everything in Python in Unicode, send to the database in "utf8", and store your data in "utf8". You have "use_unicode" set to True. If you're going to run the MySQL connection in Unicode, you should use "utf8" talking to the database, and Unicode strings in Python. Otherwise, you have to understand very clearly exactly how both Python and MySQL handle character sets, and how this changes in Python 2.4, 2.5, and 3.x. John Nagle -- http://mail.python.org/mailman/listinfo/python-list