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
pt.BR
é porque o sistema é ISO-8859-1
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.
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.
O comando convmv
é muito flexível tanto para converter arquivos individuais quanto diretórios, subdiretórios e arquivos, recursivamente, de uma só vez.
sudo apt-get install convmv
exemplo.tex
pode-se usar convmv -f UTF-8 -t ISO-8859-1 exemplo.tex
exemplo.tex
pode-se usar convmv -f UTF-8 -t ISO-8859-1 --notest exemplo.tex
-r
: convmv -r -f UTF-8 -t ISO-8859-1 --notest DIRETORIO
man convmv
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
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
recode l1..utf8 arquivo.csv
recode utf8..l1 arquivo.csv
O dos2unix
pode ser usado neste site que perite a conversão online
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>
Uso no : o preâmbulo de seu documento deve ter:
ISO-8859-1
:\usepackage[latin1]{inputenc}
UTF-8
:\usepackage[utf8]{inputenc}
No R há pelos menos duas formas de lidar com isto:
iconv()
.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.
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.
/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
sudo dpkg-reconfigure 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"
convmv
descrito acima.