Problemas de codificación DOMDocument / caracteres transformados
Estoy usando DOMDocument para manipular / modificar HTML antes de que salga a la página. Esto es solo un fragmento html, no una página completa. Mi problema inicial fue que todos los caracteres franceses se desordenaron, lo que pude corregir después de una prueba y error. Ahora, parece que solo queda un problema: ¿el personaje se transforma en? .
El código :
<?php
$dom = new DOMDocument('1.0','utf-8');
$dom->loadHTML(utf8_decode($row->text));
//Some pretty basic modification here, not even related to text
//reinsert HTML, and make sure to remove DOCTYPE, html and body that get added auto.
$row->text = utf8_encode(preg_replace('/^<!DOCTYPE.+?>/', '', str_replace( array('<html>', '</html>', '<body>', '</body>'), array('', '', '', ''), $dom->saveHTML())));
?>
Sé que se está complicando con la decodificación / codificación utf8, pero esta es la única forma en que podría hacer que funcione hasta ahora. Aquí hay una cadena de muestra:
Entrada: Sans doute parce qu’il vient d’atteindre une date déterminante dans son spectaculaire cheminement
Salida: Sans doute parce qu? Il vient d? Atteindre une date déterminante dans son spectaculaire cheminement
Si encuentro más detalles, los agregaré. ¡Gracias por tu tiempo y apoyo!