xml_parser_create("ISO-8859-1")
Me hace aparentemente bien las cosas con los acentos.
El problema me viene con algunos caracteres algo mas especiales como "&".
He estado mirando y al parecer el ISO-8859-15 me viene perfecto para mi fín, pero esta funcion no la soporta, al menos en el php5 que tengo en el hosting
Hay algun otro charset que sea compatible con esos caracteres y ademas sea soportado por esta funcion?
o por el contrario existe otro parser integrado en php que pueda incluir este charset?
En principio está apañado cambiando el & por un Y, pero claro.. no es lo mismo, jeje
Un saludo!
Buscando por internet, encontré esto.
Código php:
He puesto un espacio entre los ?> por tema que se lia el highlight esteVer original
<?php $rx = '/<?xml.*encoding=['"](.*?)['"].*? >/m'; if (preg_match($rx, $source, $m)) { $encoding = strtoupper($m[1]); } else { $encoding = "UTF-8"; } if($encoding == "UTF-8" || $encoding == "US-ASCII" || $encoding == "ISO-8859-1") { $parser = xml_parser_create($encoding); } else { { $encoded_source = @mb_convert_encoding($source, "UTF-8", $encoding); } if($encoded_source != NULL) { $source = str_replace ( $m[0], '< ?xml version="1.0" encoding="utf-8"? >', $encoded_source); } $parser = xml_parser_create("UTF-8"); } xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8"); ?>
pero realmente no se como con esto consigue soportar el charset 15 como dice en la web ( vnffc.nhatviet.net/forums/showthread.php?t=510 )