Visualizando corretamente os acentos em arquivos de partições FAT32 no Linux
Você já deve ter percebido que não é apresentado corretamente na maioria dos casos os caracteres especiais dos nomes de arquivos usando o Fat32 (vFat) no Linux, isto ocorre porque as paginas de códigos, charsets ou ambos devem ser configuradas manualmente sendo que o foco principal, claro, é o inglês. Reparei que é escassa alguma documentação sobre o assunto, o que me levou a dar uma lida nos documentos do vFat do kernel, afim de achar opções de montagem, e vou passar a receita do bolo para vocês
Basicamente para montagem do Fat32 devem ser adicionar as opções “iocharset” e/ou “codepage” ao que parece isto depende por onde a formatação foi feita, se através de um sistema operacional em português da familia Microsoft a opção a ser adicionada deve ser “codepage=850″ se inglês “iocharset=iso8859-1″. É uma deficiência do vFat do Linux não extrair esta informação automaticamente da partição, isto ainda não desmerece este módulo já bem desenvolvido.
:. Exemplos
Importante: Desmonte primeiro a partição usando o comando “umount /dev/hda1″ (sendo /dev/hda1 sua partição)
Se sua partição foi formata através de um SO em inglês
$ mount -t vfat /dev/hda1 /mnt/win -o codepage=850
Se sua partição foi formata através de um SO em português
$ mount -t vfat /dev/hda1 /mnt/win -o iocharset=iso8859-1
Naturalmente o /dev/hda1 é uma partição Fat32 (que deve estar desmontada) e o /mnt/win é o diretório destino. Basicamente é isto, se você esquecer por onde foi formatado, ou os caracteres ainda aparecerem errados você deve ir testando mesmo, primeiramente usando os exemplos acima, depois apelando para os abaixo
alternando as opções ou ainda as combinando. Lembre que para verificar se esta tudo correto recomendo usar uma aplicação gráfica como o Konqueror, Nautilus ou qualquer outro Filemanager.
:. Mais exemplos:
Usando charset iso8859-1 com codepage 850
$ mount -t vfat /dev/hda1 /mnt/win -o iocharset=iso8859-1,codepage=850
Usando charset UTF8
$ mount -t vfat /dev/hda1 /mnt/win -o iocharset=utf8
Usando charset UTF8 com codepage 850
$ mount -t vfat /dev/hda1 /mnt/win -o iocharset=utf8,codepage=850
Se o seu SO for inglês ou português só esta codepage/charset devem ser usandos se for outra lÃÂngua procure saber qual é seu charset e o codepage e os use como os do exemplo. Não se esqueça que tem que estar compilado no kernel como nativo ou módulo o charset e o codepage que forem ser usados.
:. Automatizando o Processo:
Para automatizar o processo de montagem das partições Fat32 deve ser adicionada no /etc/fstab (se existir altere apenas).
# Partição Destino Tipo Opçoes
/dev/hda3 /mnt/dados vfat iocharset=iso8859-1 1 0
Divirta-se com seus caracteres especiais
Nota: Esta excelente dica feita pelo usuário Nawtage foi retirada do site Guia do Hardware
Comments
No comments yet, be the first to add one!