HTML5 e UTF8

A partir do php-5.6.8, que ficou disponível no Slackware a 21 de abril de 2015, os ficheiros de configuração deixaram de estar em /etc/httpd/ e mudaram para as diretorias /etc, /etc/php.d, e /etc/php-fpm.d.

Em particular, o php.ini passou para /etc/php.ini. Por causa disso, o PHP deixou de ler as configurações que estavam no ficheiro antigo, nomeadamente as configurações da timezone. Na altura pensei que o PHP não confiava nas definições de TIMEZONE do sistema (apesar de poderem estar bem configuradas no php.ini) e obrigava a que todos os programas que faziam uso de funções de data/hora definissem previamente a zona de tempo:

date_default_timezone_set("Europe/Lisbon");

Mas provavelmente basta editar o novo php.ini e adicionar a timezone:

[Date]
date.timezone = “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 uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.