Hola chicos, tengo un problema que me está haciendo perder demasiado tiempo, parece un problema común pero esta vez ocurre de una forma rara. Para contextualizar: Estoy desarrollando un website con Wordpress sobre Windows Server con IIS y SQL Server 2008 (sí, leyó bien), inicialmente esta web fue desarrollada en un servidor LAMP con tecnologías libres pero tuve que hacer la migración (vivo para contarlo), y bueno, desde que monté la web sobre IIS que tengo un problema al procesar una cadena string desde PHP. Estoy codificando el tema en Jade con el cuál compilo una especie de html con código PHP embebido, uso Sublime Text como editor, estoy guardando todos los ficheros con codificación UTF-8 sin BOM, configuré la directiva default_charset='utf-8' en PHP y además todos mis hypertextos de marcado tienen declarado que estoy usando la codificación UTF-8. El string viene directamente de la base de datos SQL Server, la cuál es "catálogo", como uso esta cadena para cargar algunas dependencias (como imágenes y ficheros js), quise procesar la cadena para reemplazar las tildes por su equivalente sin tilde, es aquí cuando surge el problema, cada vez que proceso la cadena se muestra mal codificada en pantalla, pero si la imprimo tal cuál sin procesarla con ninguna función string de PHP se imprime correctamente. Es algo raro. Para aislar el problema hice pruebas con un fichero limpio .php y ocurre el mismo problema.
Dejo un ejemplo de lo que sucede:
Código PHP:
<?php
$string = 'catálogo';
echo $string, '<br />';
$string = strtr( $string, 'á', 'a' );
echo $string;
?>
Resultado por la salida estándar:
A alguien le ha pasado? Alguna pista? La verdad es que ya me tiene loco y estoy retrasado en el desarrollo. Muchas gracias por leer esto.