2017-12-27 6 views
1

でのLinuxのコマンドのMySQLdbはutf8mb4

Import MySQLdb 
MySQLdb.connect(user="root", passwd="1234", charset="utf8mb4") 

作業を動作しません。しかし、Windowsでは、次の例外をスローします。 Operational Error (2019, can't initialize character set utf8mb4 (path: c:\\mysql\\\\share\\charsets\\) ")

そのパスは自分のコンピュータ上にも私のコードにも存在しません。

私はMySQLdbバージョン1.2.5とmysql 5.7.18を使用しています。

この\ U00023456(4バイトのユニコードコードポイント)のようなクエリを行う必要があるため、charset = utf8を使用するだけでは不十分です。

答えて

0

ご使用のMySQLのバージョンはutf8mb4をサポートしていません。

+0

問題はクライアント側であり、MySQLdbはクライアント側のライブラリであるため、サーバー側ではありません。また、1.2.5はMySQL-pythonの最新バージョンです – jackLantern

0

c:\\mysql\\\\share\\charsets\\にバックスラッシュが多すぎます。 (前の '共有')

あなたは少なくともmysql 5.5.3を使用していますか?

おそらくuse_unicode=Trueが必要です。

OPTIONSとはなんですか?

「4バイトUTF-8」を意味します。

+0

パスにはバックスラッシュが多すぎます。それは私のコードではなく、例外にのみ表示されます。そのフォルダは存在しません。私はmysql 5.7.18を使用しています。さらに、use_unicode = Trueを追加しても問題は解決されませんでした。どのようなオプションについて話していますか?ありがとうございました。 – jackLantern

+0

'use_unicode'が実行されている場所の中または近くにある' OPTIONS'があります。 –