Como Corrigir UnicodeEncodeError?
Como corrigir UnicodeEncodeError em arquivos de formato rest?
Lá estava eu montando uma página usando o Zwiki (http://www.zwiki.org) , que é um Wiki para Zope/Plone.
Bem, ai resolvi criar na minha sessão de projetos um wiki sobre o
capitulo 01 do livro Definitive Plone Guide, para eu traduzir. Como o
formato do texto é rest (Restructured Text), selecionei a opção rest,
colei o texto e fui salvar.
O arquivo não salvou e retornou o seguinte erro:
Error TypeBem, fiz uma boa "googlada" :-) e cheguei a uma resolução para o meu problema. Estas foram as soluções:
UnicodeEncodeError
Error Value
'ascii' codec can't encode character u'\xe4' in position 21: ordinal not in
range(128)
1 - Editar o meu arquivo do Python /usr/local/lib/python2.3/site-packages/sitecustomize.py (No seu SO poderá estar em outro local. Mais saiba que o arquivo é o sitecustomize.py.
Adicione as seguintes linhas:
import sys
sys.setdefaultencoding("utf-8")
ou iso-8859-1 que é do nosso idioma.
Para testar a solução faça:
Inicie o python e digite:
import sys
sys.getdefaultencoding()
e veja a sua saida.
2 - A outra solução foi alterar o arquivo zope.conf que fica em /suainstancia/etc/zope.conf (Ou em outra localização ), adicionando as seguintes linhas:
rest-input-encoding utf-8
rest-output-encoding utf-8
E Reinicie o Zope.
Corrigido!@!!!
Agora posso editar e trabalhar normalmente arquivos rest no meu zwiki e em qualquer outro local do meu Zope/Plone!
Até mais!!
Fábio Rizzo Matos
fabio@fabiorizzo.com
http://www.fabiorizzo.com