Forum Pplware

Versão Completa: enconding problem no Python - alguém sabe ajudar
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Boas, estou a criar uma função em python que acede a uma BD e retorna certos valores que lhe é pedido, até aí tudo bem, só que quando vou "correr" no python (f5 - minha versão é 2.5.4), abre-me uma janela de erro com a seguinte mensagem:
Syntax Error
There's an error in you program:
enconding problem: utf-8

No entanto reparei que o erro estava na linha 2 cp1252, tive a ver e a pesquisar e descobri que tem a ver com uma possível conversão que teoricamente é utf-8 mas no fundo é cp1252 (pelo que percebi).

Aqui está o código fonte (as 2 primeiras alíneas):
#! /usr/bin/env python
# -*- coding: cp1252 -*-

Se alguém souber ajudar, qualquer ajuda é bem vinda. Obrigado.
Não percebo nada de python (a nível de sintaxe), mas olhando para esse erro diria que talvez no editor onde fizeste isso estarias a introduzir caracteres em iso-8859-1 (o default, por exemplo, no notepad do windows)? Tens caracteres como ', «, », ou com acentos no código?
Obrigada Bruno Bernardino.
O problema estava no intrepretador python, tive que alterar no notepad++ para encode utf-8 without BOM, depois foi só alterar alguns caracteres malucos "et voila".
lol, pois ainda à alguns dias falamos noutro post sobre a codificação dos ficheiros... ehehehe


pior, no outro dia um colega meu que esteve duas horas a fazer debug quando ele apenas estava com o numlook ligado, e isto em alguns portáteis não se repara à primeira.. são aquelas coisas básicas que nos passam sempre ao lado.. Tongue
(19-03-2009 01:00)MarcoMonteiro Escreveu: [ -> ]lol, pois ainda à alguns dias falamos noutro post sobre a codificação dos ficheiros... ehehehe


pior, no outro dia um colega meu que esteve duas horas a fazer debug quando ele apenas estava com o numlook ligado, e isto em alguns portáteis não se repara à primeira.. são aquelas coisas básicas que nos passam sempre ao lado.. Tongue

Outras das coisas que é "extremamente chato" em python é a indentação, se trabalhares com o notepad++, tens que ter em atenção em definir a tab para 4 espaços e mesmo assim, muitas vezes convém ser mesmo tu a dar esses 4 espaços ...

Quanto a debuging ...., é a malapata da programação, "perde-se" tempo que é uma coisa louca as vezes por cauisa de uma coisinha tão pequena ...
(19-03-2009 10:39)balaico Escreveu: [ -> ]
(19-03-2009 01:00)MarcoMonteiro Escreveu: [ -> ]lol, pois ainda à alguns dias falamos noutro post sobre a codificação dos ficheiros... ehehehe


pior, no outro dia um colega meu que esteve duas horas a fazer debug quando ele apenas estava com o numlook ligado, e isto em alguns portáteis não se repara à primeira.. são aquelas coisas básicas que nos passam sempre ao lado.. Tongue

Outras das coisas que é "extremamente chato" em python é a indentação, se trabalhares com o notepad++, tens que ter em atenção em definir a tab para 4 espaços e mesmo assim, muitas vezes convém ser mesmo tu a dar esses 4 espaços ...

Quanto a debuging ...., é a malapata da programação, "perde-se" tempo que é uma coisa louca as vezes por cauisa de uma coisinha tão pequena ...


a minha experiencia em python é muito pequena... mas sim essa é uma grande chatice para quem está habituado a outras é que na indentação
é sempre a bombar...
Tambem nao tenho grande experiencia com Python mas até ao momento ainda nao tive problemas com o editor PyScripter.

É muito raro editar codigo Python no notepad++, utilizo sempre o Pyscripter, é freeware, faz indentantação automatica, o autocomplete ja funciona relativamente bem e o melhor de tudo é que tem um interface simples para debug.
PyScripter

A ActiveState lançou também uma versão gratuita do editor komodo, o "Komodo edit" mas este não tem interpretador associado Confused.
Komodo Edit
muito boa dica abip Big Grin
URL's de Referência