2
respostas

Erro ao executar prepara_banco - Incorrect string value

Copiei o script prepara_banco.py e ajustei para a minha configuração (usuário/senha). A conexão com o banco está acontecendo corretamente e ele printa os usuários adicionados, mas o código da erro na hora de adicionar os jogos:

-------------  Usuários:  -------------
Danilo
Luan Marques
Nico
Traceback (most recent call last):
  File "C:/Users/fried/PycharmProjects/Jogoteca/prepara_banco.py", line 52, in <module>
    ('Fire Emblem Echoes', 'Estratégia', '3DS'),
  File "C:\Users\fried\PycharmProjects\venv\lib\site-packages\MySQLdb\cursors.py", line 237, in executemany
    self._get_db().encoding)
  File "C:\Users\fried\PycharmProjects\venv\lib\site-packages\MySQLdb\cursors.py", line 264, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "C:\Users\fried\PycharmProjects\venv\lib\site-packages\MySQLdb\cursors.py", line 209, in execute
    res = self._query(query)
  File "C:\Users\fried\PycharmProjects\venv\lib\site-packages\MySQLdb\cursors.py", line 315, in _query
    db.query(q)
  File "C:\Users\fried\PycharmProjects\venv\lib\site-packages\MySQLdb\connections.py", line 226, in query
    _mysql.connection.query(self, query)
MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value: '\\xE7\\xE3o' for column 'categoria' at row 1")

Process finished with exit code 1

Alguma ideia de solução?

2 respostas

Fiz uma alteração e deu certo. Tive que tirar os caracteres especiais, como '~' 'ç' e ' ´ '. Então ficaram as categorias de 'Acao' e 'Estrategia'.

Mas setar o 'Colate utf8' não deveria dar conta disso?

Oi Renan, tudo bom?

Tem um tópico aqui no forum bem parecido com o seu:

https://cursos.alura.com.br/forum/topico-erro-ao-executar-prepara_banco-py-incorrect-string-value-xe7-xe3o-for-column-categoria-52239#645435

A discussao gira em torno do encode do banco msm. Porém, acho que o latin1 seja mais adequado pro caso.

Tenta alterar no seu banco pra latin1 e compartilha com a gente o resultado?

Abraço