2017-02-22 1 views
2

kann ich t mache es nicht, um Emojis in die Datenbank zu posten, wenn ich my-app.appspot.com verwende, aber wenn ich es lokal python manage.py runserver mit den gleichen Bibliotheken auf GAE alles funktioniert funktioniert perfekt und ich kann Emojis posten und abrufen.google CloudSQL mysql emoji (1366, "Falscher Stringwert: '\ xF0 \ x9F \ x98 \ x80 \ xF0 \ x9F ...' für die Spalte 'name' in Zeile 1")

hier meine Einstellungen

.py
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', 
      } 
     } 
    } 

hier ist die charset wenn Cloud Shell

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) 

mit und hier ist der charset, wenn ich die IP der Datenbank von einem anderen Client der Verbindung über

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 

Ich bin ich etwas fehlt ?!

Wie mache ich Arbeit?

dank https://github.com/GoogleCloudPlatform/appengine-django-skeleton/issues/28

Antwort

0

waprin: @EssaAlshammri reproduziert, eingereicht interne Fehler mit Engineering-Team, werden Sie auf dem Laufenden halten.

von github issue

können Sie Base64-Codierung versuchen in die und aus der Datenbank als Behelfslösung gehen.

es funktioniert gut.

können Sie warten, bis sie das Problem beheben

Verwandte Themen