Ustawiłem instancję CloudSQL, której próbuję użyć z moją aplikacją Django w AppEngine. Ustaliliśmy, że serwer jest skonfigurowany do korzystania utf8mb4
zestaw znaków za pomocą konsoli CloudSQL do mojej bazy danych:Nie można użyć zestawu znaków utf8mb4 z CloudSQL na AppEngine Python
utf8mb4 utf8mb4_unicode_ci
Gdybym połączyć bezpośrednio z CLI mysql, mogę z powodzeniem wkładać i czytać emotikony. Jeśli jednak wstawię te same znaki emoji przez administratora Django, to wstawiane są one jako "???".
starałem się zapewnić klientowi MySQLdb-python korzysta utf8mb4 z:
'ENGINE': 'django.db.backends.mysql',
...
'OPTIONS': {
'charset': "utf8mb4",
}
Ale powoduje to mi następujący komunikat o błędzie na AppEngine:
(2019, "Can't initialize character set utf8mb4 (path: /usr/local/mysql/share/charsets/)")
Moja app.yaml korzysta "najnowsza" biblioteka MySQLdb:
libraries:
- name: MySQLdb
version: "latest"
Ten sam dokładny problem, proszę, jeśli znalazłeś rozwiązanie, napisz tutaj. Dzięki. –
Czy kiedykolwiek znalazłeś rozwiązanie tego problemu? Próbowałem MySQLdb (1.2.5) łącząc się zdalnie i działa dobrze, to prowadzi mnie do przekonania, że libmysqlclient na GAE jest zbyt stary i jest prawdziwym problemem. Już się poddam. – jturmel