Figuera 0 Denunciar post Postado Março 29, 2011 Unicode é algo que me deixa confuso. Afinal sobre quais circunstâncias UTF-8 não suporta acentos? Isso não é claro para mim. Por exemplo, em meu Ubuntu ao utilizar o gnome-terminal com UTF-8 não é raro eu me deparar com algum caractere "bugado", ao utilizar o editar de texto Vim no próprio terminal não posso digitar um caractere com acento que ele aparece seguido de um espaço (Pelo menos aparece, mas o comportamento estranho é por de mais incomodo). Enquanto posto, fiz um teste, escrevendo uma linha de programa Ruby no vim, escrevi: print "Teste: á ã â" Imagino até quem não conheça nada de ruby saiba o que esse linha faz, após uma longa batalha com o Vim que não conseguia se comportar bem na presença de acentos, consegui salvar o arquivo como teste.rb e rodar no terminal, que logo me retornou: teste.rb:2: invalid multibyte char (UTF-8) teste.rb:2: invalid multibyte char (UTF-8) Porque? O que está errado nessa aventura? Se eu mudo o encoding do terminal para ISO-8859-1, o Vim se comporta direitinho, se eu mudo o encoding do arquivo ruby para ISO-8859-1 o terminal retorna: Teste: � � Note que aqui meu terminal está em UTF-8, como antes quando dava o erro, seu eu mudar o terminal também para ISO-8859-1, temos: Teste: Ã Ã Ã Essa me supreendeu, esperava uma resposta bem comportada dessa vez, porque os "as" minusculos com acentos variáveis se tornaram Ãs? Testei e percebi que o proprio arquivo teste.rb tinha sido modificado de alguma forma, modifiquei para a velha string "á ã â" e dessa vez deu certo: Teste: á ã â Com tantos problema eu devo ainda insistir em UTF-8? Não podemos culpa minha gana de mudar tudo o possível para ISO-8859-1, porém eu ando lendo e todo mundo me recomenda a usar UTF-8, queria então entender os problemas desse encoding e como lidar com eles, alguém pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Porto 0 Denunciar post Postado Março 30, 2011 Figuera, Geralmente quando o UTF-8 apresenta problema de acentuação é quando a codificação do arquivo (encoding) está diferente da codificação dos caracteres que serão exibidos dentro do arquivo (charset). Nos meus projetos eu utilizo sempre UTF-8 SEM BOM (http://goo.gl/vz7t4) como codificação dos arquivos e o charset UTF-8 para codificação dos caracteres que serão exibidos dentro do arquivo. No link entre parênteses você vai entender o porque do uso do UTF-8 SEM BOM para codificação do arquivo. Dessa forma pode ficar certo que você não terá mais nenhum tipo de problema com acentuação. Até mais! Compartilhar este post Link para o post Compartilhar em outros sites