Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
dicas:caracteres [2009/04/29 10:09] paulojus |
dicas:caracteres [2010/04/12 10:46] (atual) paulojus |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
- | ===== Codificação de caracteres ===== | + | ====== Codificação de caracteres ====== |
Em português brasileiro os sistemas operacionais utilizam diferentes codificações 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 de instalação a **''UTF-8''**. | + | * **''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''**). | * **''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. | 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: | + | **No LINUX**, para saber qual a codificação de caracteres está sendo usada no sistema digite na linha de comando do terminal: |
<code> | <code> | ||
- | $ locale </code> | + | locale </code> |
- Se voce ver na saída ''pt.BR'' é porque o sistema é ''ISO-8859-1'' | - Se voce ver na saída ''pt.BR'' é porque o sistema é ''ISO-8859-1'' | ||
- Se voce ver na saída ''pt.BR.UTF-8'' é porque o sistema é ''UTF-8'' | - Se voce ver na saída ''pt.BR.UTF-8'' é porque o sistema é ''UTF-8'' | ||
- | === Conversão de arquivos via comando em terminal (LINUX) === | + | 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''. Vejamos alguns exemplos. | + | |
+ | |||
+ | ==== 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<code> | ||
+ | sudo apt-get install convmv | ||
+ | </code> | ||
+ | * para testar a conversão de um arquivo, por exemplo, ''exemplo.tex'' pode-se usar <code> | ||
+ | convmv -f UTF-8 -t ISO-8859-1 exemplo.tex | ||
+ | </code> | ||
+ | * e para converter definitivamente um arquivo, por exemplo, ''exemplo.tex'' pode-se usar <code> | ||
+ | convmv -f UTF-8 -t ISO-8859-1 --notest exemplo.tex | ||
+ | </code> | ||
+ | * Para converter definitivamente um diretório recursivamente (isto é todos os subdiretórios e arquivos) usase a opção ''-r'': <code> | ||
+ | convmv -r -f UTF-8 -t ISO-8859-1 --notest DIRETORIO | ||
+ | </code> | ||
+ | * Mais detalhes na documentação <code> | ||
+ | man convmv | ||
+ | </code> | ||
== Usando o comando iconv == | == 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) | + | * 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)<code> |
- | <code> | + | iconv -f ISO-8859-1 -t UTF-8 -o exemplo1a.tex exemplo1.tex </code> |
- | $ iconv -f ISO-8859-1 -t UTF-8 -o exemplo1a.tex exemplo1.tex </code> | + | * 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)<code> |
- | * 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 </code> |
- | <code> | + | |
- | $ iconv -f UTF-8 -t ISO-8859-1 -o exemplo2a.tex exemplo2.tex </code> | + | |
Linha 33: | Linha 52: | ||
recode utf8..l1 arquivo.csv | recode utf8..l1 arquivo.csv | ||
</code> | </code> | ||
+ | |||
+ | == Usando o recurso dos2unix == | ||
+ | |||
+ | O **''dos2unix''** pode ser usado [[http://www.dos2unix.org/|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 === | === Definição de codificação (locale) no LATEX === | ||
Linha 62: | Linha 90: | ||
Neste caso é necessário usar o ''iconv'' descrito anteriormente para | Neste caso é necessário usar o ''iconv'' descrito anteriormente para | ||
converter de um formato para outro antes de compilar o documento LaTeX. | 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. | ||
+ | - **Gerar os locales desejados:** | ||
+ | - editar o arquivo ''/var/lib/locales/supported.d/local'' deixando com o seguinte conteúdo:<code> | ||
+ | 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</code> | ||
+ | - gerar os locales com o comando:<code> | ||
+ | sudo dpkg-reconfigure locales</code> | ||
+ | - **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:<code> | ||
+ | LANG="pt_BR" | ||
+ | LANGUAGE="pt_BR:pt"</code> | ||
+ | - Depois disto, para converter nomes e conteúdos de arquivos e diretórios já existentes use o comando ''convmv'' descrito acima. | ||
+ | |||
+ | |||
+ | |||
+ | |||