No fim de semana passado, atualizei os servidores todos para as novas versões do Apache e do PHP. Essas atualizações causaram-me imensos problemas, nomeadamente por causa das funções de data/hora e por causa dos ficheiros codificados em iso-8859-1.
Atualmente, o PHP não confia nas definições de TIMEZONE do sistema (apesar de eu as configurar corretamente) e obriga a que todos os programas que façam uso de funções de data/hora definam previamente a zona de tempo:
date_default_timezone_set("Europe/Lisbon");
Por outro lado, foi necessário converter todos os ficheiros HTML e PHP, de ISO-8859-1 para UTF-8. Em alguns projetos antigos, tenho mais que 300 ficheiros e é impraticável alterá-los todos manualmente. Felizmente, em Linux é possível fazer essas conversões de uma só vez:
find . -name "*.php" -exec sh -c "iconv -f ISO-8859-1 -t UTF-8 {} > {}.utf8" \; -exec mv "{}".utf8 "{}" \; find . -name "*.html" -exec sh -c "iconv -f ISO-8859-1 -t UTF-8 {} > {}.utf8" \; -exec mv "{}".utf8 "{}" \;
Deixe um comentário