Hola, qué tal.?
Mi situación es la siguiente:
Resumiendo, estoy sacando archivos en formato de openoffice write.
Estos documentos con extensión .sxw son archivos comprimidos en .zip, dentro
del cual existen varios archivos .xml en dónde está tanto la estructura
como los datos.
Bien, yo dentro de mi script importo el archivo en una variable y reemplazo
los campos variables con los datos sacados de una consulta.
El problema surge al abrir el archivo generado, debido a que todos los datos
que contengan tildes, eñes, me los convierte a carácteres extraños.
con esto importo el archivo a una variable:
$cuerpo=file_get_contents($dir."/content.xml");
con esto cambio los campos por sus valores:
$cuerpo_reemplazo=str_replace("plan_1","I A",$cuerpo);
Y con esto grabo el archivo en el disco duro
$fp = fopen("/var/www/obras/tmp/pruebas.sxw", "w+");
fwrite($fp, $zip->file());
fclose($fp);
Dentro del documento hay palabras con tildes, las cuales quedan como están
en origen, el problema es que las qu cambia el script, se graban mal.
¿A qué se puede deber.?
He cambiado en Apache a ISO-8859-15 y en php tambien.
Saludos.