Hola, estuve casi dos días resolviendo un desagradable incidente con unos caracteres que se mostraban como si estuviese trabajando utf-8 en un documento formateado en ansi. Esto sólo se dio cuando apliqué strtolower para cambiar todo a minúsculas. Al final lo resolví así:
Código PHP:
function logtitulo() {
$titulo = 'ÁÉÍÓÚÑáéíóúñ¿¡<>';
$titulo = strtr(strtolower($titulo), utf8_decode( 'ã¡ã©ã*ã³ãºã±ã¡ã©ã*ã³ãºã±â¿â¡' ), 'ÁÉÍÓÚÑáéíóúñ¿¡');
echo $titulo;
}
Ahora bien, si un documento está formateado como utf-8, está declarado como utf-8 en la cabecera ¿por qué se mostraban los caracteres de forma errónea?. Nunca antes había usado strtolower, no sabía que era tan problemático en este sentido.