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

