{"id":22246,"date":"2015-05-05T11:13:41","date_gmt":"2015-05-05T11:13:41","guid":{"rendered":"http:\/\/www.inacreditavel.pt\/?p=22246"},"modified":"2016-01-19T09:05:07","modified_gmt":"2016-01-19T09:05:07","slug":"html-5-e-utf8","status":"publish","type":"post","link":"http:\/\/www.inacreditavel.pt\/?p=22246","title":{"rendered":"HTML 5 e UTF8"},"content":{"rendered":"<p>No fim de semana passado, atualizei os servidores todos para as novas vers\u00f5es do Apache e do PHP. Essas atualiza\u00e7\u00f5es causaram-me imensos problemas, nomeadamente por causa das fun\u00e7\u00f5es de data\/hora e por causa dos ficheiros codificados em iso-8859-1.<\/p>\n<p>Atualmente, o PHP n\u00e3o confia nas defini\u00e7\u00f5es de TIMEZONE do sistema (apesar de eu as configurar corretamente) e obriga a que todos os programas que fa\u00e7am uso de fun\u00e7\u00f5es de data\/hora definam previamente a zona de tempo:<\/p>\n<pre>\r\ndate_default_timezone_set(\"Europe\/Lisbon\");\r\n<\/pre>\n<p>Por outro lado, foi necess\u00e1rio converter todos os ficheiros HTML e PHP, de ISO-8859-1 para UTF-8. Em alguns projetos antigos, tenho mais que 300 ficheiros e \u00e9 impratic\u00e1vel alter\u00e1-los todos manualmente. Felizmente, em Linux \u00e9 poss\u00edvel fazer essas convers\u00f5es de uma s\u00f3 vez:<\/p>\n<pre>\r\nfind . -name \"*.php\" -exec sh -c \"iconv -f ISO-8859-1 -t UTF-8 {} > {}.utf8\"  \\; -exec mv \"{}\".utf8 \"{}\" \\;\r\n\r\nfind . -name \"*.html\" -exec sh -c \"iconv -f ISO-8859-1 -t UTF-8 {} > {}.utf8\"  \\; -exec mv \"{}\".utf8 \"{}\" \\;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>No fim de semana passado, atualizei os servidores todos para as novas vers\u00f5es do Apache e do PHP. Essas atualiza\u00e7\u00f5es causaram-me imensos problemas, nomeadamente por causa das fun\u00e7\u00f5es de data\/hora e por causa dos ficheiros codificados em iso-8859-1. Atualmente, o PHP n\u00e3o confia nas defini\u00e7\u00f5es de TIMEZONE do sistema (apesar de eu as configurar corretamente) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/posts\/22246"}],"collection":[{"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22246"}],"version-history":[{"count":4,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/posts\/22246\/revisions"}],"predecessor-version":[{"id":22787,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=\/wp\/v2\/posts\/22246\/revisions\/22787"}],"wp:attachment":[{"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22246"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.inacreditavel.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}