相关疑难解决方法(0)

621
推荐指数
13
解决办法
58万
查看次数

无法在AppEngine Python上使用带有CloudSQL的utf8mb4字符集

我已经设置了一个CloudSQL实例,我试图在AppEngine上使用我的Django应用程序.我已经确认服务器设置为utf8mb4通过CloudSQL控制台为我的数据库使用字符集:

utf8mb4 utf8mb4_unicode_ci
Run Code Online (Sandbox Code Playgroud)

如果我直接连接mysql cli,我可以成功插入和读取emojis.但是,如果我通过Django管理员插入相同的表情符号字符,它只是插入"?????".

我试图确保MySQLdb-python客户端使用utf8mb4:

'ENGINE': 'django.db.backends.mysql',
...
'OPTIONS': {
    'charset': "utf8mb4",
}
Run Code Online (Sandbox Code Playgroud)

但这导致我在AppEngine上收到以下错误:

(2019, "Can't initialize character set utf8mb4 (path: /usr/local/mysql/share/charsets/)")
Run Code Online (Sandbox Code Playgroud)

我的app.yaml正在使用"最新的"MySQLdb库:

libraries:
- name: MySQLdb
  version: "latest"
Run Code Online (Sandbox Code Playgroud)

python mysql django google-app-engine

6
推荐指数
1
解决办法
821
查看次数