Ir para conteúdo
Fórum Script Brasil
  • 0

Problema Acentuação Python 2.7.6


Felipe222

Pergunta

Olá!

 

Meu nome é Felipe, sou iniciante no mundo Linux e comecei a estudar Python 2.7.6 a pouco tempo quando me surgiu um problema:

 

Há cerca de uns 2 dias atrás, eu estava usando o ambiente interativo só para praticar mesmo, quando tentei executar este pequeno código:

 

- quando tentei comparar uma letra acentuada de uma variável o resultado estava dando sempre “ False ”

 

>>> palavra = "página"

>>> palavra [ 1 ] == "á"

>>> False

 

- quando dei um print do conteúdo da variável, ela foi exibida normalmente na tela.

 

>>> palavra = "página"

>>> print palavra

>>> página

 

- e quando tentei exibir a variável, para saber como o seu valor estava sendo armazenado, saiu isto:

 

>>> palavra = “página”

>>> palavra

>>> 'p\xc3\xa1gina'

 

Ate ai tudo bem, não me assustei, eu já havia ouvido falar que Python 2.7.6 tinha alguns detalhes relativos a codificação que poderiam causar este tipo de problema, na hora eu não me preocupei, deixei isso de lado por hora e fui terminar alguns outros testes que eu precisava fazer.

 

Porem, ontem quando tentei buscar soluções para esse problema, eu basicamente não consegui resolvê-lo, eu busquei em tudo quanto é lugar informações que pudesse me ajudar, mas nada adiantou.

 

O que eu encontrei principalmente dizia para alterar a codificação na qual o arquivo fonte seria salvo, introduzindo no código a codificação a ser usada:

 

#!/usr/bin/python
# -*- coding: latin-1 -*-
# coding: latin-1

 

# -*- coding: utf-8 -*-
# coding: utf-8

# -*- coding: iso-8859-1 -*-
# coding: iso-8859-1

 
- eu já tentei usar quase que todas as codificações que pude encontrar em uma serie de combinações diferentes e nada, o problema permanece

 

- eu tentei editar o fonte em diferentes editores de texto e tentando alterar a codificação em que o arquivo seria salvo, e também nada

 

- eu entrei nas opções do IDLE do Python 2.7.6 e lá na opção Default Source Encoding – está marcada UTF-8, e mesmo alterando para outras o problema permanece

 

- encontrei em alguns sites, sobre usar .enconde() e .decode() para codificar e decodificar, não sei exatamente para que isso funciona, foi mesmo o desespero batendo a porta, e sai isso:

 

>>> palavra = "página"

>>> palavra

>>> 'p\xc3\xa1gina'

 

>>> palavra.encode("utf-8")

 

Traceback (most recent call last):

File "<pyshell#2>", line 1, in <module>

palavra.encode("utf-8")

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)

 

 

mas, quando tento codificar a variável sem que está contenha um caractere especial, pelo menos não é apresentado nenhum erro

 

>>> palavra = "Marcos"

>>> palavra

>>> 'Marcos'

>>> palavra.encode("utf-8")

>>>

 

Bom por hora é isso, se alguém souber o que pode estar acontecendo estou aguardando . . .

 

Observações:

 

- o problema acontece tanto em modo interativo quanto no modo de edição

 

- não tenho o Windows instalado para ver se o mesmo acontece na versão Windows, pois, alguns anos atrás quando arranhei um pouco de Python o mesmo problema aconteceu, mas a mudança de codificação resolveu o problema. O que não ocorre agora com o meu Linux

 

- tentei usar diferentes IDEs – Ninja IDE, Wing IDE free, e nada também

 

- baixei e instalei a IDLE do Python 3.4.3 mas aqui o problema dos acentos nem chega a ocorrer, muito provavelmente porque foi corrigido nesta versão do Python, eu ate poderia mudar para o Python 3, mas quero continuar um pouco mais no Python 2, antes de ir para o Python 3, além disso alguns programas e/ou bibliotecas ( principalmente a de Terceiros ) existentes no 2 podem não ser completamente compatíveis com o 3.

 

- fora o que já mencionei acima, por ser iniciante tanto no mundo Linux quanto em programação ( Python ), não busquei ainda qualquer informação e/ou dicas sobre o sistema operacional que pudesse estar causando este problema, principalmente para não piorar a situação

 

- se tiverem algum link, que acharem que possa me ajudar de alguma forma, seja para este problema em especial ou qualquer outro assunto, podem passar que tão logo quanto possível estarei dando uma olhada

 

Ubuntu 14.04 LTS - 32 bit - Python 2.7.6

 

IDLE - Python 2.7.6 (default, Jun 22 2015, 18:00:18)

[GCC 4.8.2] on linux2

 

Obrigado pela Atenção ! ! !

Editado por Felipe222
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...