Não foi possível enviar o arquivo. Será algum problema com as permissões?
Codificação de caracteres

Codificação de caracteres

Em português brasileiro os sistemas operacionais utilizam diferentes codificações de caracteres:

  • UTF-8: No LINUX pode-se escolher a codificação desejada (na instalação ou posteriormente) mas em versões mais atuais geralmente utiliza-se como padrão na instalação.
  • ISO-8859-1: O WINDOWS usa um formato próprio WINDOWS-1252 mas que é quase igual a ISO-8859-1 (também chamado de latin1).

Estas diferentes codificações podem ter efeitos sobre documentos com caracteres especiais escritos em um sistema e visualizados e ou compilados(por exemplo documentos LaTeX) em outro sistema.

No LINUX, para saber qual a codificação de caracteres está sendo usada no sistema digite na linha de comando do terminal:

locale 

  1. Se voce ver na saída pt.BR é porque o sistema é ISO-8859-1
  2. Se voce ver na saída pt.BR.UTF-8 é porque o sistema é UTF-8

Alguns programas e aplicativos, em especial editores de texto (por exemplo o kile) possuem opções para se escolhar a codificação de caracteres a ser utilizada.

Conversão de arquivos via comando em terminal (LINUX)

Para converter um arquivo de um formato para outro na linha de comando do Linux pode-se usar os comandos iconv ou recode na linha de comando do terminal.

Usando o comando convmv

O comando convmv é muito flexível tanto para converter arquivos individuais quanto diretórios, subdiretórios e arquivos, recursivamente, de uma só vez.

  • Veja se o comando está disponível no seu sistema. Se não etiver instale com
    sudo apt-get install convmv
  • para testar a conversão de um arquivo, por exemplo, exemplo.tex pode-se usar
    convmv -f UTF-8 -t ISO-8859-1 exemplo.tex
  • e para converter definitivamente um arquivo, por exemplo, exemplo.tex pode-se usar
    convmv -f UTF-8 -t ISO-8859-1 --notest exemplo.tex
  • Para converter definitivamente um diretório recursivamente (isto é todos os subdiretórios e arquivos) usase a opção -r:
    convmv -r -f UTF-8 -t ISO-8859-1 --notest DIRETORIO
  • Mais detalhes na documentação
    man convmv
Usando o comando iconv
  • Voce tem um arquivo exemplo1.tex digitado em um sistema ISO-8859-1 e quer converter para UTF-8 gerando o arquivo com nome exemplo1a.tex (vamos preservar o original por segurança, se vc quiser depois renomeie o arquivo)
    iconv -f ISO-8859-1 -t UTF-8 -o exemplo1a.tex exemplo1.tex 
  • Voce tem um arquivo exemplo2.tex digitado em um sistema UTF-8 e quer converter para ISO-8859-1 gerando o arquivo com nome exemplo2a.tex (vamos preservar o original por segurança, se vc quiser depois renomeie o arquivo)
    iconv -f UTF-8 -t ISO-8859-1 -o exemplo2a.tex exemplo2.tex 
Usando o comando recode
  • De latin1 (iso-8859-1) para utf-8:
    recode l1..utf8 arquivo.csv
  • De utf-8 para latin1 (iso-8859-1):
    recode utf8..l1 arquivo.csv
Usando o recurso dos2unix

O dos2unix pode ser usado neste site que perite a conversão online

Definição de codificação no R

O R por "default" lê e usa a codificação de caracteres ("enconding") do seu sistema. Entretanto para ler e importar arquivos pode ser útil e necessário definir a desejada. O caminho para definir a codificação em uma sessão do R é com o comando <R>options(encoding="O QUE VOCE QUER AQUI")</R> e para importar arquivos diversas funções aceitam o argumento enconding. Para mais detalhes veja e sessão "Encodings" em <R>help("connections")</R>

Definição de codificação (locale) no LATEX

Uso no Graph: o preâmbulo de seu documento deve ter:

  1. para ISO-8859-1:
    \usepackage[latin1]{inputenc} 
  2. para UTF-8:
    \usepackage[utf8]{inputenc}

Definição de codificação (locale) em uma sessão do R e/ou Sweave

No R há pelos menos duas formas de lidar com isto:

  1. É possível fazer a conversão usando a função iconv().
  2. Definir a opção padrão para uma sassão com options(): Os comandos do R a seguir podem definir o enconding desejado em uma sessão. Isto é particularmente útil gerando documentos via Sweave.

options(encoding="UTF-8") 

options(encoding="latin1")

Note que isto vai gerar o documento em um computador com certa codificação e que pode ser incompatível para compilação em outra máquina que usar um outro enconding. Neste caso é necessário usar o iconv descrito anteriormente para converter de um formato para outro antes de compilar o documento LaTeX.

Conversão de todo o sistema

Na instalação do sistema operacional (LINUX) é instalada uma codificação cd caracteres default. Em alguns casos o procedimento de instalação pergunta sobre a codificação desejada (ou permite que seja definida). Porém muitas vezes a codificação padrão é instalada e o usuário deseja mudar depois da instalação. Em versões recentes do Linux tais como Debian, Ubuntu, Mint entre outras a codificação UTF-8 é a padrão da instalação.

A seguir vamos ilustrar a configuração e conversão de sistema UTF-8 para ISO-8859-1 com opções para portugues (BR) e inglês.

  1. Gerar os locales desejados:
    1. editar o arquivo /var/lib/locales/supported.d/local deixando com o seguinte conteúdo:
      pt_BR.UTF-8 UTF-8
      en_US.UTF-8 UTF-8
      en_GB.UTF-8 UTF-8
      pt_BR IS0-8859-1
      en_US IS0-8859-1
      en_GB IS0-8859-1
    2. gerar os locales com o comando:
      sudo dpkg-reconfigure locales
  2. Definição do locale do sistema Cada um dos locales gerados podem ser escolhidos para o sistema. Para definir o locale desejado edite o Arquivo de configuração para definição dos locales /etc/environment ou /etc/default/locale. Em um exemplo optando por portugues brasileiro com codificação ISO-8859-1 o conteúdo de um destes arquivos deve ter as seguintes linhas:
    LANG="pt_BR"
    LANGUAGE="pt_BR:pt"
  3. Depois disto, para converter nomes e conteúdos de arquivos e diretórios já existentes use o comando convmv descrito acima.

QR Code
QR Code dicas:caracteres (generated for current page)