quinta-feira, 29 de outubro de 2015

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/bash
echo "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 var
if [ $var = "y" ]; then
echo "Iniciando Mudanca no Encoding."
echo "Removendo arquivos da variavel locales!"
rm -r /var/lib/locales/supported.d/*
sleep 2
echo "Copiando novo arquivo local para variavel locales!"
cp -r local /var/lib/locales/supported.d/
sleep 2
echo "Alterando o arquivo locale do /etc!"
cp -r locale /etc/default/
sleep 2
echo "Alterando o arquivo environment do /etc!"
cp -r environment /etc/
sleep 2
echo "Adicionando pt_BR pt_BR.ISO-8859-1 em /etc/locale.alias"
echo "pt_BR pt_BR.ISO-8859-1" >> /etc/locale.alias
sleep 2
echo "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/profile
sleep 4
echo "Executando comandos para configuração do Encoding!"
localedef pt_BR -i pt_BR -f ISO-8859-1
sleep 5
localedef pt_BR.ISO-8859-1 -i pt_BR -f ISO-8859-1
sleep 5
localedef pt_BR.ISO8859-1 -i pt_BR -f ISO-8859-1
sleep 5
dpkg-reconfigure locales
sleep 5
locale-gen -purge
sleep 5
locale-gen
sleep 5
echo "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 ver
if [ $ver = "y" ]; then
echo "Reiniciando o Sistema!"
reboot
else
echo "O sistema será reiniciado manualmente."
fi
else
echo "Cancelado pelo usuario!"
fi
exit
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

Nenhum comentário:

Postar um comentário