O meu problema não é com o entendimento dos charsets, tirando as particularidades do PZP, como ter q mudar para latin-1 para gravar. O meu problema é a toda hora precisar fazer encode, decode via python. Isso gasta tempo e é muito irritante. No meu ver ,a linguagem deveria ser transparente com relação a este assunto. Mas eu gostei das dicas, vão me ajudar daqui em diante.
Com relação ao problema, Eu entrei em contato com o Wilton e com o pessoal da Pytown, o Diego na verdade e ele resolveu o problema. O Wilton tmb achou a solução, mas eu estava com dificuldades de alterar o arquivo no linux remotamente via SSH, porque eu não sei usar direito o editor. O problema é que o PYTHON estava utilizando ASCII, que ele utiliza por padrão. Vejam a explicação do Diego ------------------------------------------------------------ Por padrão o interpretador Python assume que toda string está em ascii, porém ascii não possui caracteres de acento e por isso irá gerar erro se tentar representar em ascii uma string com acentos. Nesse caso eu modifiquei o encoding do Python que o seu Zope usa para UTF-8, conforme instruções do link[1]. Desta forma o encoding padrão que o Python assume é o UTF-8 ao invés de ascii. Peço que você teste novamente se os erros continuam e caso continuem nos forneça informações mais detalhadas do problema, como Screen Shots, links ou tracebacks do erro. [1] http://taniaa.objectis.net/tutoriais/python-zope-plone/erro-ascii-na-migracao/ Agradeço muito aos que ajudaram, finalmente, o problema está resolvido. Era a configuração do python. att Bruno Marota > Em Python, quando tu declara uma string com a syntaxe u'Minha string', > tu estás na verdade criando um objeto do tipo 'unicode'. Quando usa a > syntaxe convencional 'Minha string', o interpretador não tem como saber > em qual conjunto de caracteres ela está representada, e por padrão ele > assume que seja 'ascii'. > > Por exemplo, se digitar o seguinte em um console Python: > > u'%s' % 'á' > > o interpretador tentaria criar uma string unicode formatada a partir de > uma string unicode de parâmetro. Como o que foi passado de parâmetro foi > uma string normal, ela deve ser convertida para unicode primeiro, mas ao > fazer a conversão o interpretador assume que ela está em ascii, mas > ascii não tem caracteres com acento, e portanto uma excessão é gerada. > > Tu chegaste a mencionar que quando o username estava vazio dava erro, > isso é por que tu não podes construir um objeto unicode a partir de algo > diferente de uma string (como é o caso do None que provavelmente ele > estava recebendo no teu código). > > Aqui tem algumas informações sobre encodings interessantes: > http://www.slideshare.net/codebits/unicode-poetry-167368 > > []'s > > Daniel > > -- > Daniel Monteiro Basso > Líder Técnico do Centro de Inovação > Trino Pólo - Pólo de Informática de Caxias do Sul > http://www.trinopolo.com.br >