編集: 問題の理解を深めるために、この質問を完全に作り直しました
DB内のすべてのテーブル名をフェッチするために使用されるPYODBC+MYSQLコマンド
cursor.execute("select table_name from information_schema.tables where
table_schema='mydbname'")
結果は、各文字列で1文字おきに省略されたUnicode文字列のリストです。
DBはutf8ですが、私のinformation_schema
テーブル名は純粋なASCIIです。latin1である私のDBからの読み取りは正常に機能します。実行set character_set_* = 'utf8'
しても役に立ちません。
C ++ /ODBCテストプログラムから同じクエリを実行すると、正常に機能します。
pyodbc
文字エンコードに対してどのように機能するか知っていますか?utf8 DBを使用する場合、どのエンコーディングを想定していますか?
LinuxでUnixODBC、python 2.6.4、pyodbc2.1.7を使用しています