Skip to content
quarta-feira, janeiro 14, 2009 / eltonokada

sqlalchemy simplejson utf-8

Atualmente, em conjunto com o time do qual faço parte estou desenvolvendo um aplicativo orientado a serviços REST utilizando django + sqlalchemy + mysql.

Para poupar codigo, criamos um método que recebe um objeto ResultProxy do sqlalchemy e nos retorna um json, até aí tudo bem, deu tudo certo até que tivemos um dado com carater UTF-8, como batemos bastante a cabeça e encontrei muitas informaçoes “picadas” googleando, resolvi compartilhar a solução.

1 – O banco deve estar como utf-8

2 – a conexao com o sqlalchemy também:

engine = create_engine(‘mysql://root:@localhost/banco?charset=utf8&use_unicode=0’)

3 – O campo do modelo (no caso estou usando o sqlexpression do sqlalchemy) deve estar assim:

minha_tabela = Table(‘minha_tabela’, metadata,

Column(‘sua_coluna’,Unicode),

)

4 – No nosso caso utilizamos o simplejson, que converte um tipo de dado dictionary para json

return HttpResponse(simplejson.dumps(dicionario,ensure_ascii=False), mimetype=’text’)

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: