[Flask + Jinja2] [Fast tip] Erros com caracteres especiais

Resolvi compartilhar uma solução que encontrei para os problemas com acentos em conteúdos de variáveis.

Em primeiro momento basicamente eu coloquei a informação de encoding no arquivo python

# -*- coding=utf-8 -*-

Isso resolveu meu problema em inserir informações com acentos em variáveis, porem quando executava a função render_template ainda lançava a exceção

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xXX in position xx: ordinal not in range(xxx)

Para resolver essa exceção que aparentemente é no momento que o Jinja2 vai exibir o conteúdo da variável, basta adicionar isso no arquivo de inicialização de seu app Flask.

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

Bom esse pequeno trecho de código resolveu meu problema, pois não tive que mudar mais nada em meu código e poupou muito tempo.

See ya 🙂

Comecei a programar com 15 anos de idade e nunca mais parei.
Programador C# profissionalmente, e Python por opção.
%d blogueiros gostam disto: