Olá,
Quando rodo o arquivo prepara_banco.py acontece o seguinte problema: MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value: '\xE7\xE3o' for column 'categoria' at row 1")
O problema só acontece quando tento inserir algum nome com acento em alguma das tabela Usuario ou Jogo. Ex: ele não permite inserir ('God of War 4', 'Ação', 'PS4'), pois a palavra Ação tem esses caractéres acentuados.
Vi que o código de criação das tabelas também já está setado com utf8:
criar_tabelas = '''SET NAMES utf8;
CREATE DATABASE `jogoteca` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;
USE `jogoteca`;
CREATE TABLE `jogo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(50) COLLATE utf8_bin NOT NULL,
`categoria` varchar(40) COLLATE utf8_bin NOT NULL,
`console` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `usuario` (
`id` varchar(16) COLLATE utf8_bin NOT NULL,
`nome` varchar(20) COLLATE utf8_bin NOT NULL,
`senha` varchar(16) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;'''
Mesmo assim ainda tenho esse erro.