Resolvendo o problema dos acentos nos compartilhamentos do Samba

Publicado por Aldefax G. Kuhn em 09/10/2005

[ Hits: 21.019 ]

 


Resolvendo o problema dos acentos nos compartilhamentos do Samba



É bastante simples resolver esse problema, apesar da grande confusão que muitos fazem quando se deparam com esse problema.

Lembrando que isso é uma dica, então não entrarei em detalhes de como baixar os fontes do kernel e recompilá-lo, como montar os compartilhamentos de rede do Samba, instalar os programas necessários e configurar o Samba, para isso temos vários artigos aqui no VOL que podem ser consultados. Se houver muita dificuldade para a realização dessa configuração, posso escrever um artigo completo ensinando detalhadamente como fazer cada passo.

Bem, vamos ao que interessa. Estou me baseando em testes realizados montando compartilhamentos de sistemas Windows NT4 (Inglês), 9x e W2k (Português Brasil), todos com sucesso total.

Para que o acentos sejam vistos corretamente é preciso recompilar o kernel. Como a maioria das distribuições ou 100% delas, o Debian também não vem configurado com o codepage de acordo com a nossa língua, portanto a acentuação não funciona corretamente, não é exibida corretamente quando montamos compartilhamentos de rede ou até em alguns casos nem é possível montar os compartilhamentos por causa dos acentos contidos neles.

Primeiro configure seu sistema GNU/Linux corretamente.

Reconfigurar os locales para iso8859-1. Para quem usa Debian:

# dpkg-reconfigure locales

Na tela onde diz "Selecione os locales a serem gerados", selecione pt_BR ISO-8859-1 e depois na tela seguinte onde diz "Qual locale deverá ser o padrão do ambiente do seu sistema?", selecione PT-BR.

Reconfigurando o kernel:

Em File "Systems/Network File Systems", habilite a opção smbfs (smb file system Support).

Na opção que apareceu abaixo, "Default NLS Option", coloque o codepage do seu sistema Windows, geralmente é o cp850.

Agora vá em "File Systems/Native Language Support" e marque a opção "Default NLS Option" como "iso8859-1", marque também as opções "Codepage 850 (Europe)" e "NLS iso8859-1" como built-in.

Recompile e instale o novo kernel.

Configuração do Samba:

Inclua as seguintes linhas na Seção Global do Samba:

dos charset = cp850
unix charset = iso8859-1
display charset = LOCALE

Prontinho, agora é só reiniciar o micro, testar seus compartilhamentos de rede Windows e ver que todos os acentos estão exatamente como deveriam estar.

Este procedimento foi realizado e descrito depois de inúmeras tentativas sem sucesso de configurar corretamente a exibição do acentos nos compartilhamentos do Samba. Utilizei o Debian Sarge como base de referência, kernel 2.6.8, gcc 3.3, samba 3.0x.

Se o sistema win está configurado para pt_BR, então o codepage é cp850 a princípio. O iocharset não precisa mexer. As versões mais novas dos kernel deixam você escolher o cp850 como padrão, mas as compilações distribuídas até mesmo no Brasil e em pt_BR vem compilado como padrão o cp437, acho que está na hora de mudar isso!

Se usa um kernel de uma distribuição, então na montagem use a opção codepage=cp850, mas se tem seu próprio kernel, tente recompilá-lo deixando como codepage padrão no sistema de arquivos smbfs o cp850, funciona legal.

Outras dicas deste autor

Habilitando suporte a wins no DHCP

Desligando micros com fonte ATX no Debian

Instalando Squid 2.6 + patch ZPH no Debian Etch

Resolvendo problema com teclado ABNT2 no Debian Sarge

Gforce e framebuffer no modo texto sem problemas

Leitura recomendada

APP Notify - Como fazer seu servidor Linux enviar notificação para o celular

Instalando Openstack no CentOS 7

Roteiro de estudos para a certificação LPI2

Melhorando a conexão da internet no Linux

Como reparar o arquivo "status" [Resolvido]

  

Comentários
[1] Comentário enviado por mluiz em 18/10/2005 - 16:07h

opa...
bom eu tive esse tipo de problema ultimamente também, com relação a acentos nos compartilhamentos o que eu fiz foi mudar no servidor quanto a sua localidade, que como é mencionado no artigo acima o default do WinNT4.0 inglês é o 437 e quando é instalado o português brasileiro ele muda para 850 evitando assim futuros constrangimentos :-P.

espero que eu tenha ajudado também...


falow...

[2] Comentário enviado por napalm em 19/03/2007 - 12:56h

Boas. andava aqui a tentar resolver esse problema...
Depois de ter posto LANG e LC_ALL em pt_PT tudo funcionava bem na consola, mas o share samba não,
nem precisei de recompilar o kernel... apesar de ja ter recompilado ha uns tempos este... mas acho que não alterei nada em relaçao ao samba... há maneira de confirmar?
De qualquer forma, bastou meter isto no smb.conf:
dos charset = cp850
unix charset = iso8859-1
display charset = LOCALE

que ficou tudo logo a funcionar bem. tanto pastas como ficheiros podem ser vistas e abertas sem problemas tanto em win98 como em winXP.

Obrigado



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts