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

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
dicas:caracteres [2009/01/25 13:32]
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 tipocamente uma das seguintes codificações de caracteres: ''​ISO-8859-1''​ ou ''​UTF-8''​. O Windows e alguns Linux, especialmente os mais antigos utilizam ''​ISO-8859-1''​ enquanto os Linux mais recentes por defaut costumam instalar a ''​UTF-8''​. Estas diferentes codificações podem ter efeitos sobre documentos com caracteres especiais escritos em um sistema e visualizados em outro. ​+
  
 +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''​**). ​
  
-=== Conversão de arquivos via comando em terminal (LINUX) === +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. ​
-Para converter um arquivo de um formato para outro na linha de comando do Linux pode-se usar o comando ''​iconv''​. Vejamos alguns exemplos. +
-  * Voce tem um arquivo ''​exemplo1.tex''​ digitado ​em um sistema ​''​ISO-8859-1'' ​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>​ +
-$ 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>​ +
-$ iconv -f UTF-8 -t ISO-8859-1 -o exemplo2a.tex exemplo2.tex </​code>​+
  
-Para saber qual a codificação de caracteres está sendo usada no sistema ​Linux que voce está usando ​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''​
 +
 +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<​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 ==
 +  * 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>​
 +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>​
 +iconv -f UTF-8 -t ISO-8859-1 -o exemplo2a.tex exemplo2.tex </​code>​
 +
 +
 +== Usando o comando recode ==
 +
 +  * De latin1 (iso-8859-1) para utf-8:<​code>​
 +recode l1..utf8 arquivo.csv</​code>​
 +
 +  * De utf-8 para latin1 (iso-8859-1):<​code>​
 +recode utf8..l1 arquivo.csv
 +</​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 30: Linha 74:
 === Definição de codificação (locale) em uma sessão do R e/ou Sweave === === Definição de codificação (locale) em uma sessão do R e/ou Sweave ===
  
-Os comandos do R a seguir podem definir o //​enconding//​ desejado em uma sessão. +No R há pelos menos duas formas de lidar com isto: 
-Isto é particularmente útil gerando documentos via Sweave.  +  - É possível fazer a conversão usando a função ''​iconv()''​. 
-Note que isto vai gerar o documento em um computador com certa codificação e que pode ser incompativel em outra maquina. Neste caso é necessário usar o ''​iconv''​ descrito anteriormente para converter de um formato para outro antes de compilar o documento LaTeX.+  - 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. ​
  
 <code R> <code R>
Linha 41: Linha 85:
 options(encoding="​latin1"​) options(encoding="​latin1"​)
 </​code>​ </​code>​
 +
 +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.
 +  - **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.
 +
 +
 +
 +
  

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