EDIT:
Я полностью переработал этот вопрос, чтобы отразить мое лучшее понимание проблемы
Команда PYODBC + MYSQL, используемая для извлечения всех имен таблиц в моей БД
cursor.execute("select table_name from information_schema.tables where
table_schema='mydbname'")
Результатом является список строк в кодировке Юникод, в которых в каждой строке пропущен в каждой строке.
DB information_schema
- это utf8, хотя мои имена таблиц чистые ascii. Чтение из моей БД, которая является latin1, работает нормально. Выполнение set character_set_* = 'utf8'
не помогает.
Выполнение того же запроса из тестовой программы C ++ / ODBC работает нормально.
Знаете ли вы, как pyodbc
работает в отношении кодировки символов? Какую кодировку он принимает при работе с БД utf8?
Я работаю в Linux с UnixODBC, python 2.6.4, pyodbc 2.1.7