Mudando a configuração do Encoding de UTF8 para ISO-8859-1
Bom, tudo começou quando precisei fazer
uma busca de arquivos no servidor de arquivos. Quando percebi que
quando eu listava os arquivos, os que tinham acentos, vinham todos com
caracteres loucos. Eu até pensei que era algo de configuração no proprio
servidor mas percebi que só acontecia quando eu acessava remotamente
por ssh. Então pesquisando no grandioso google, percebi que tambem
existia várias pessoas com o mesmo problema, então depois de umas horas
procurando achei um script que fazia quase tudo, então peguei o script e
acrescentei algumas linhas e deu tudo certo.
Então vamos ao que interessa.
Crie uma pasta chamade de Encoding e dentro dela crie quatro arquivos: environment, local, locale e AlterarEncodig.sh.
No arquivo environment, coloque as linhas abaixo:
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games”
LANG=”pt_BR”
LANGUAGE=”pt_BR:pt:en”
No arquivo local, coloque as linhas abaixo:
pt_BR.ISO-8859-1 ISO-8859-1
en_US.ISO-8859-1 ISO-8859-1
No arquivo locale, coloque as linhas abaixo:
LANG=”pt_BR”
LANGUAGE=”pt_BR:pt:en”
No arquivo AlterarEncodig.sh, coloque dentro dele os códigos abaixo:
#!/bin/bashecho "Esse script mudará a configuração do Encoding de UTF-8 para ISO-8859-1."
echo "É necessário que voce esteja logado como root para execução do script!"echo "Para continuar digite y(YES), caso contrário digite n(NO)!"
read varif [ $var = "y" ]; thenecho "Iniciando Mudanca no Encoding."echo "Removendo arquivos da variavel locales!"
rm -r /var/lib/locales/supported.d/*sleep 2echo "Copiando novo arquivo local para variavel locales!"
cp -r local /var/lib/locales/supported.d/sleep 2echo "Alterando o arquivo locale do /etc!"
cp -r locale /etc/default/sleep 2echo "Alterando o arquivo environment do /etc!"
cp -r environment /etc/sleep 2echo "Adicionando pt_BR pt_BR.ISO-8859-1 em /etc/locale.alias"
echo "pt_BR pt_BR.ISO-8859-1" >> /etc/locale.aliassleep 2echo "Adicionando variaveis em /etc/profile"
echo "export LANG="pt_BR"" >> /etc/profile
echo "export LC_CTYPE="pt_BR"" >> /etc/profile
echo "export LC_NUMERIC="pt_BR"" >> /etc/profile
echo "export LC_TIME="pt_BR"" >> /etc/profile
echo "export LC_COLLATE="pt_BR"" >> /etc/profile
echo "export LC_MONETARY="pt_BR"" >> /etc/profile
echo "export LC_MESSAGES="pt_BR"" >> /etc/profile
echo "export LC_PAPER="pt_BR"" >> /etc/profile
echo "export LC_NAME="pt_BR"" >> /etc/profile
echo "export LC_ADDRESS="pt_BR"" >> /etc/profile
echo "export LC_TELEPHONE="pt_BR"" >> /etc/profile
echo "export LC_MEASUREMENT="pt_BR"" >> /etc/profile
echo "export LC_IDENTIFICATION="pt_BR"" >> /etc/profilesleep 4echo "Executando comandos para configuração do Encoding!"
localedef pt_BR -i pt_BR -f ISO-8859-1sleep 5localedef pt_BR.ISO-8859-1 -i pt_BR -f ISO-8859-1sleep 5localedef pt_BR.ISO8859-1 -i pt_BR -f ISO-8859-1sleep 5dpkg-reconfigure localessleep 5locale-gen -purgesleep 5locale-gensleep 5echo "Pronto! Agora será necessário reiniciar o seu sistema.
Salve e feche todos os aplicativos que estiverem abertos."echo "O sistema pode ser reiniciado?"
echo "Digite y(yes) ou n(NO)."
read verif [ $ver = "y" ]; then
echo "Reiniciando o Sistema!"
reboot
else
echo "O sistema será reiniciado manualmente."
fielseecho "Cancelado pelo usuario!"fiexit
Depois de ter feito esses passos agora vamos dar permissão de execução no arquivo AlterarEncodig.sh.
chmod +x AlterarEncoding.sh
Pronto agora é só executar:
./AlterarEncoding.sh
Fonte: Thales Eduardo
Linux for human beings
0 comentários:
Postar um comentário