Pular para o conteúdo

Gravar campos com acentuação em MySQL via Python

Dica publicada em Python / Banco de Dados
Artur Fernandes de souza Filho phiron
Hits: 11.742 Categoria: Python Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Gravar campos com acentuação em MySQL via Python

Descobri uma maneira de colocar acentos no MySQL via Python. Coloquei a codificação de caracteres como UTF-8 no banco de dados e no Python, mas sempre tinha problemas com a inserção de caracteres com acentos, entre outros, nos campos de dados do MySQL.

Sempre imaginei que bastava colocar isso no início do arquivo:

#-*- coding:utf-8 -*-

mas descobri que era necessário algo mais. Então está aí o exemplo de conexão com um banco de dados MySQL. Com definição de codificação de caracteres, o nome do banco de dados, usuário e senha são "python". Exemplo de código:

bd=MySQLdb.connect(host="localhost",user="python",passwd="python",db="python",charset="utf8", use_unicode = True)
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Com isso terminei todos os meus problemas com acentuação no MySQL. Espero que essa dica ajude mais pessoas.

Até!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Conectando à internet fácil fácil com o W580i

Python + SQLite

Usando o MySQL no Python

Instalando o pyenv no Linux Mint e Ubuntu

Livro: Python para desenvolvedores

Reproduzindo vídeos em modo texto no Linux

#1 Comentário enviado por stack_of em 28/07/2009 - 19:46h
Ao criar um banco de dados você pode especificar o tipo de codificação, por exemplo utf-8:


CREATE DATABASE meu_bd DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
#2 Comentário enviado por phiron em 30/07/2009 - 08:51h
Exatamente, mas o problema é que ao gravar no banco de dados com o python os caracteres iam todos bagunçados, com a criação do cursor em python especificando a codificação esse problema acaba, eu havia imaginado que apenas com isso e a definição de codificação do cabeçalho já resolveria, mas não é apenas isso.

Contribuir com comentário

Entre na sua conta para comentar.