Em Sábado 20 Maio 2006 16:52, J. F. Mitre escreveu:
> Tenho uma centena de cds que forma gravados em windows que eu preciso ler
> corretamente no meu computador.
> Hoje, quando pela primeira vez depois de ter modificado o sistema para utf8
> eu coloquei um desses cds no computador percebi que os nomes eram grafados
> de acordo com regras iso-8859-1.

Porque eles foram gravados no Windows e, que eu saiba, este SO não usa unicode 
(me corrijam se estou errado, há seis anos que só uso Linux).

> Não foi difícil achar a solução do problema, bem, pelo menos não
> teoricamente.

?

> Em dezenas de fontes, incluindo o man do mount. Aparece duas formas de
> resolver o problema.
>
> A primeira adicionar iocharset=utf8 nas opções do /etc/fstab a segunda -
> que pelo que entendi seria a mais correta para a solução do problema - é
> adicionar utf8 (apenas) no arquivo /etc/fstab.
>
> Ficando assim a linha que define o CD no fstab.
>
> /dev/hdb   /media/cdrom1   udf,iso9660 utf8,ro,user,noauto 0 0
> ou
> /dev/hdb   /media/cdrom1   udf,iso9660 iocharset=utf8,ro,user,noauto 0 0
>
> depois de montar o dispositivo, observo a seguinte saída com o comando
> "mount"
>
> /dev/hdb on /media/cdrom1 type iso9660
> (ro,noexec,nosuid,nodev,utf8,user=mitre)
> ou
> /dev/hdb on /media/cdrom1 type iso9660
> (ro,noexec,nosuid,nodev,iocharset=utf8,user=mitre)
>
> O que me leva a crer que a opção colocada no /etc/fstab foi interpretada
> corretament nos dois casos.
> O problema é que contínuo obtendo a saída dos nomes na forma ISO-8859-1.

Desculpe a obviedade da minha resposta, mas o caso e que o CDROM é ROM, ou 
seja, ele é um sistema de arquivos de somente leitura. Uma vez tendo sido 
gravado como ISO8859-1 ele assim permanecerá enquanto existir. Você não pode 
fazer nada quanto a isso.

Imagino que a dificuldade que você está tendo é que os nomes estão saindo 
errados. Por isso é que eu concordo que deve haver algum problema porque o 
Linux deveria reconhecer os nomes de arquivo corretamente ao fazer a montagem 
(do mesmo modo que o browser reconhece o charset de uma página html).

Pode haver duas razões para isso:

1 - Erro na montagem, fazendo com que o Linux tente forçar UTF-8 sobre uma 
mídia gravada em LATIN1.
2 - Erro na gravação, que não saiu com indicação do charset (também já 
encontrei CDs que montavam com nomes de arquivo errados, mas sempre achei que 
o problema é a gravação, já que são ALGUNS CDs, raros).

> Bem, meu primeiro impulso foi pensar que era um bug, procurei, mas não
> achei nada. É difícil para mim acreditar que existe um bug dessa natureza
> que ainda não foi encontrado. Então, modifiquei a minha teoria para um "bug
> de usuário".
>
> O que estou fazendo de errado ?
>
> Os locales estão definidos como pt_BR.UTF-8. 

Então aqui está o seu erro! Você restringiu as opções de seu sistema. Além do 
locale padrão, você deveria ter acrescentado pt_BR (só). Assim ele saberá 
trabalhar com ambos os charsets.

O meu arquivo /etc/locale.gen, por exemplo, está assim:

pt_BR.UTF-8 UTF-8
pt_PT.UTF-8 UTF-8

en_GB.UTF-8 UTF-8
es_ES.UTF-8 UTF-8

pt_BR ISO-8859-1
pt_PT.UTF-8 UTF-8


> Também me certifiquei que o 
> output do CDROM está realmente em ISO-8859-1.
> Vi alguma coisa na rede falando sobre os módulos nls, bem, eu levantei
> todos os precaução (o que inclui o nls_utf8) !!!

Que eu saiba isso é para outra coisa.

-- 
José Geraldo Gouvêa

--
ubuntu-br mailing list
[email protected]
www.ubuntu-br.org
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a