Ubuntu で実行されている Python プログラムから同じマシン上の MySQL ボックスに ODBC 経由で接続しようとしています。(DB-API の代わりに ODBC を使用しています。これは、異なるデータベース エンジンを使用する予定であり、SQLTables などのシステム カタログにアクセスする一貫した方法が必要なためです。)
しかし、MySQL データベースに接続して SQLTables を実行すると、最初の行で次のようになります。
(u'\U0067007a\U005f0061\U00690062\U006c006c\U006e0069\U005f0067\U00750061\U006f0074\U0061006d\U00690074\U006e006f\U0063005f\U00630063', u'', u'\U00750061\U00680074\U0067005f\U006f0072\U00700075', u '\U00410054\U004c0042', u'')
これらは明らかに Unicode 値ですが、非常に高いコードポイントのように見えます。確かに、それらを ASCII にエンコードすることはできません。テーブル名はすべて ASCII にする必要があります。
これを引き起こしている設定が欠けているか、間違っていますか?
私のodbc.iniは次のとおりです。
[ODBC Data Sources]
mu = MySQL
[mu]
Description = MySQL Database Test
Driver = MySQL
Server = localhost
Database = ccc2
Port = 3306
私のodbcinst.iniは
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/odbc/libmyodbc.so
FileUsage = 1