Quando rodo o codigo e abro uma pagina retorna este erro.
sqlalchemy.exc.DatabaseError: (mysql.connector.errors.DatabaseError) 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'
(Background on this error at: https://sqlalche.me/e/14/4xp6)
Quando rodo o codigo e abro uma pagina retorna este erro.
sqlalchemy.exc.DatabaseError: (mysql.connector.errors.DatabaseError) 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'
(Background on this error at: https://sqlalche.me/e/14/4xp6)
Olá Jonas, tudo bem com você?
Peço desculpas pela demora em lhe responder.
O erro apresentado está relacionado à collation utilizada em seu banco de dados MySQL. A collation é responsável por definir como os dados são armazenados e ordenados em uma tabela, e o erro indica que a collation utf8mb4_0900_ai_ci
não é reconhecida pelo MySQL.
Podemo realizar a alteração da collation utilizada em sua conexão com o banco de dados. Para isso, no arquivo jogoteca.py abaixo da seguinte linha: app.secret_key = 'alura'
adicione o seguinte parâmetro ao seu código:
app.config['MYSQL_DATABASE_CHARSET'] = 'utf8mb4'
Esse parâmetro irá definir a collation utilizada em todas as suas consultas ao banco de dados como utf8mb4
, que é a collation recomendada para trabalhar com caracteres unicode.
Caso a solução apresentada acima não funcione, é possível que o problema esteja relacionado à versão do MySQL que você está utilizando. A collation utf8mb4_0900_ai_ci
foi adicionada ao MySQL na versão 8.0.1, então se você estiver utilizando uma versão anterior a essa, pode ser que a collation não esteja disponível. Nesse caso, você pode atualizar a sua versão do MySQL para uma mais recente.
No artigo da Alura apresentado abaixo, você poderá acompanhar com detalhes como realizar a instalação do MySQL nos principais sistemas operacionais.
Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!