2017-04-22 8 views
1

に絵文字を挿入することはできません。フラスコSQLAlchemyのは、私が<strong>フラスコSQLAlchemyの</strong>モジュールで<strong>のPython 2.7</strong>やフラスコのフレームワークを使用しているMySQLの

挿入しようとしたとき、私はいつも次の例外を取得:Exception Type: OperationalError. Exception Value: (1366, "Incorrect string value: \xF09...

私はすでにutf8mb4_general_ciにMySQLデータベース、テーブルおよび対応する列を設定し、私は、端末を使用して絵文字の文字列を挿入することができます。

フラスコのアプリ設定にはすでにapp.config['MYSQL_DATABASE_CHARSET'] = 'utf8mb4'が含まれていますが、それはまったく役に立たず、私はまだ例外を受け取ります。

すべてのヘルプは

答えて

0
  1. を高く評価している設定は、メインファイルを、ファイルと設定の追加、あなたが絵文字を保存するフィールドを編集する必要があり'charset' => 'utf8mb4'
  2. を設定し、utf8mb4_unicode_ci
+0

おかげ "" として "データ" を取得することができます!私はすでに照合順序を設定しましたが、言及するのを忘れました、申し訳ありません。 "config file main file"の意味を指定できますか? – chaoz

+0

configファイルとは、プロジェクトや他のすべてのものに対してデータベースを定義する場所を意味します。 – Jenish

+0

「app.config」辞書には「charset」フィールドはありません。関連するフィールドは「mysql_database_charset」と呼ばれ、私はすでにそれを変更しました。 – chaoz

0

メイクとしてcollationを設定しますu"..."リテラルで作成されたもののような、適切なPython Unicodeオブジェクトを使用してください。言い換えれば、あなたのオブジェクトの型はunicodeないstr次のようになります。

>>> type('ą') 
<type 'str'> 
>>> type(u'ą') 
<type 'unicode'> 

これが唯一のすべての文字列リテラルは、デフォルトでUnicodeのあるPythonの3で、Pythonの2に適用されることに注意してください。

0

それは私の作品:

import pickle 
data = request.get_json().get("data") 
data = pickle.dumps(data) 

次に入力でき、データベースへの「データ」。

"のような"データ "を送信できます...あなたが好きな絵文字はどれでも。

次回、データベースから "データ" を取得する場合:あなたがすべき

data = pickle.loads(data) 

、あなたが答えを

関連する問題