Certe volte, soprattutto in ambito web, i caratteri speciali (come le lettere accentate) appaiono in modo strano e incomprensibile anche se abbiamo impostato il nostro web server ad utilizzare utf-8.
Questo nella maggior parte dei casi è dovuto ad una errata codifica dei file, spesso in ISO-8859-1.
Per convertirli tutti in un colpo solo è sufficiente dare un solo comando:
find /directory/da/modificare -type f -exec sh -c "( iconv --from-code ISO-8859-1 --to-code UTF-8 {} -o {}.iconv ; mv {}.iconv {} ; )";
E voilà! Tutti i file ora sono in utf8!
Se non dovesse funzionare ed utilizzate htmlentities, ricordate di specificare il charset (terzo parametro)!
htmlentities($testo,ENT_COMPAT,'UTF-8');