我整天都在为此苦苦挣扎,却找不到解决方案,甚至找不到错误的根本原因。当我在本地运行我的应用程序时,它工作正常。我的生产实例使用 Heroku cedar 堆栈和 Amazon RDS MySQL 数据库。
在我的设置文件中,我有: 'OPTIONS': {'charset': 'utf8mb4'}
当我推送到 Heroku 时,它会因错误而崩溃:_mysql_exceptions.OperationalError: (2019, "Can't initialize character set utf8mb4 (path: /usr/share/mysql/charsets/)")
异常位置:/app/.heroku/python/lib/python2.7/site-packages/MySQLdb/connections.py in set_character_set, line 298
我已经使用 Amazon RDS MySQL 创建了适当的数据库参数,当前设置如下:
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/mysql-5.6.13.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
我在跑步:
MySQL 5.6.13
MySQL-python==1.2.4
在此先感谢您的帮助。让我知道是否有更多我遗漏的细节。