Estou montando um servidor Samba para a empresa em que trabalho e hoje eu tive um problema com acentuações de arquivos.
Problema:
A empresa usa servidor Windows 2003 Server como servidor de arquivos e AD, um departamento da empresa está mudando para um novo local, onde teremos uma nova estrutura de rede e como é um projeto temporário não há necessidade de comprar uma nova licença da Microsoft para um novo servidor de arquivos.
Para resolver o problema eu estou montando um novo servidor usando Ubuntu 9.10 Server.
A instalação e configuração do Ubuntu e Samba foi super tranquila e rápida.
O problema foi na hora de subir os arquivos do Server Windows para o Server Linux.
No Windows todos os arquivos tinham os seus acentos, mas no Linux, tudo truncado e quando era criado um arquivo no Linux com acento, no Windows ele era truncado.
Procurei no grande Oráculo e achei algumas soluções, mas sem sucesso.
Resolvi mete a cara e procurar sobre Locales + Samba + Linux + Windows até que achei a solução.
Solução:
Obs: todos os comandos foram executado com root!
Edite o arquivo /etc/environment e acrescente as seguintes linhas.
LC_ALL=pt_BR.ISO-8859-1
LANG="pt_BR"
LANGUAGE="pt_BR:pt_en"
Agora o arquivo /etc/default/locale .
LANG="pt_BR"
LANGUAGE="pt_BR:pt:en"
Agora o arquivo /etc/locale.alias acrescente está linha no final do arquivo.
pt_BR pt_BR.ISO-8859-1 pt_BR
Vá para o diretório /var/lib/locales/supported.d e apague os arquivos “pt” e “en” (as vezes so tem o pt) deixando so o local. Edite o arquivo local /var/lib/locales/supported.d/local e deixe igual o exemplo.
pt_BR.ISO-8859-1 ISO-8859-1
en_US.ISO-8859-1 ISO-8859-1
Pronto agora é so reconfigurar os Locales, digite os seguintes comandos.
# localedef pt_BR -i pt_BR -f ISO-8859-1
# localedef pt_BR.ISO-8859-1 -i pt_BR -f ISO-8859-1
# dpkg-reconfigure locales
# locale-gen --purge
# locale-gen
Para finalizar reinicie o servidor e logo que o sistema subir faça o teste.
# locale
LANG=pt_BR
LANGUAGE=pt_BR:pt:en
LC_CTYPE=”pt_BR”
LC_NUMERIC=”pt_BR”
LC_TIME=”pt_BR”
LC_COLLATE=”pt_BR”
LC_MONETARY=”pt_BR”
LC_MESSAGES=”pt_BR”
LC_PAPER=”pt_BR”
LC_NAME=”pt_BR”
LC_ADDRESS=”pt_BR”
LC_TELEPHONE=”pt_BR”
LC_MEASUREMENT=”pt_BR”
LC_IDENTIFICATION=”pt_BR”
LC_ALL= pt_BR.ISO-8859-1
# locale -a
C
en_US.iso88591
POSIX
pt_BR.iso88591
Pronto seu sistema já está com ISO-8859-1
Até mais
Jost Dayan














