私はできます私が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