2017-02-22 8 views
2

私はできます私がmy-app.appspot.com を使用するとemojisをデータベースに投稿するようにしますが、ローカルでそれを実行すると、GAE上の同じライブラリでpython manage.py runserverが完全に動作し、emojisをポストして取得できます。ここgoogle CloudSQL mysql emoji(1366、 "不正な文字列値: '\ xF0 \ x9F \ x98 \ x80 \ xF0 \ x9F ...'行1の '名前'列)」)

は私の設定はここ

import os 
if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'): 
    # Running on production App Engine, so use a Google Cloud SQL database. 
    DATABASES = { 
     'default': { 
      'ENGINE': 'django.db.backends.mysql', 
      'HOST': '/cloudsql/my-app:us-central1:my-app-mysql', 
      'NAME': '********', 
      'USER': 'root', 
      'PASSWORD': '*********', 
     } 
    } 
else: 
    DATABASES = { 
     'default': { 
      'ENGINE': 'django.db.backends.mysql', 
      'NAME': '*******', 
      'USER': 'root', 
      'PASSWORD': '*********', 
      'HOST': '**********', 
      'PORT': '3306', 
      'OPTIONS': { 
       'charset': 'utf8mb4', 
      } 
     } 
    } 

をの.pyである私は、別のクライアントからのデータベースのIPを使用して接続する場合、クラウドシェル

mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; 
+--------------------------+--------------------+ 
| Variable_name   | Value    | 
+--------------------------+--------------------+ 
| character_set_client  | utf8    | 
| character_set_connection | utf8    | 
| character_set_database | utf8mb4   | 
| character_set_filesystem | binary    | 
| character_set_results | utf8    | 
| character_set_server  | utf8mb4   | 
| character_set_system  | utf8    | 
| collation_connection  | utf8_general_ci | 
| collation_database  | utf8mb4_general_ci | 
| collation_server   | utf8mb4_general_ci | 
+--------------------------+--------------------+ 
10 rows in set (0.15 sec) 

、ここを使用して文字セットであるとき、文字セットです

Variable_name      Value 
character_set_client    utf8 
character_set_connection   utf8mb4 
character_set_database    utf8mb4 
character_set_filesystem   binary 
character_set_results    utf8 
character_set_server    utf8mb4 
character_set_system    utf8 
collation_connection    utf8mb4_unicode_ci 
collation_database     utf8mb4_general_ci 
collation_server     utf8mb4_general_ci 

私は何かが欠けていますか?

私はどのように仕事をするのですか?

おかげ https://github.com/GoogleCloudPlatform/appengine-django-skeleton/issues/28

答えて

0

waprin:@EssaAlshammriは、再現エンジニアリングチームとの内部バグを提出し、あなたが更新され続けます。あなたは回避策として、データベースの中に出入りbase64エンコードを試すことができますgithub issue

から

正常に動作します。

問題が解決するまでお待ちください

関連する問題