2016-12-12 5 views
0

メザニンのデフォルト設定(pip経由)でMySQLバックエンドを使用しているときに、付属のサンプルをインストールすると、ユニコードエラーが表示されます。メザニンとMySQL:ユニコードエラー

これにより、次のエラーが発生し、4バイトのユニコードエンティティに戻ります。

django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xEF\\xBE\\x8C\\xE3\\x80\\x8D...' for column 'file' at row 1") 

MySQLのデフォルトのUnicodeは、3バイトエンティティのみをサポートしています。しかし、私が行くと、彼らはutf8mb4(4バイトのMySQL UTF-8)にTPE設定したときに、私が代わりにこのエラーを打つ:

django.db.utils.OperationalError: (1071, 'Specified key was too long; max key length is 767 bytes') 

を質問はこれです:誰もが、MySQLとのメザニンの例を使用していませんか?もしそうなら、どのようにデータベースを設定し、メザニンとMySQLのバージョンを使用していますか?

+0

誰もメザニンをまったく使用しません。あなたは週に約2〜3つの質問を受け取ります。 – e4c5

+0

私は誰もメザニンを使用しているとは言いませんでしたが、逆に私の作業理論は、メザニンをMySQLで使用する人でなければならないということです。そのため、組み込みのデフォルトインストール例は失敗するでしょう...したがって私はバージョンの間違った組み合わせを使用しているか、明らかに間違っていることをしています。 – 0xF2

+1

私は、Mezzanine 4.0.1とMySql 5.6を一緒に使用していました。瞬間に書くことができるのは、その瞬間に作業していた唯一のことです。 –

答えて

0

簡易回答:バグです。 Mezzanineの設定を修正し、MySql 5.6で動作するものはすべて得ましたが、例のサイトをインストールすると、これらの4バイトの4バイトユニコード警告は、に残ります。

厳密なモードでは警告が表示されず、トランザクション全体が失敗し、インストールがクラッシュするようなDBがない限り、これはかなり問題ありません。小さなバグで、指が指す余地があります。メザニンは完全なUTF範囲を使い、多くのデータベースでうまくいきます... mySqlはここの外れ値です。

関連する問題