Buenas,
Amigos, encontre una solución
Código PHP:
<?php
define("UTF_8", 1);
define("ASCII", 2);
define("ISO_8859_1", 3);
function codificacion($texto)
{
$c = 0;
$ascii = true;
for ($i = 0;$i<strlen($texto);$i++) {
$byte = ord($texto[$i]);
if ($c>0) {
if (($byte>>6) != 0x2) {
return ISO_8859_1;
} else {
$c--;
}
} elseif ($byte&0x80) {
$ascii = false;
if (($byte>>5) == 0x6) {
$c = 1;
} elseif (($byte>>4) == 0xE) {
$c = 2;
} elseif (($byte>>3) == 0x14) {
$c = 3;
} else {
return ISO_8859_1;
}
}
}
return ($ascii) ? ASCII : UTF_8;
}
function utf8_decode_seguro($texto)
{
return (codificacion($texto)==ISO_8859_1) ? $texto : utf8_decode($texto);
}
?>
<?php
$a="Ascii";
$b="ISO-8859-1: áéíóú";
$c=utf8_encode($b);
echo utf8_decode_seguro($a)."\n";
echo utf8_decode_seguro($b)."\n";
echo utf8_decode_seguro($c)."\n";
?>
Es un script basado en el script de
Clbustos, en realidad lo unico que modifque fue que en vez de devolver el resultado siempre en utf8, lo hace en ISO 8859-1. El script Original esta disponible
aquí.
Espero sea de utilidad para alguien más. No lo habia encontrado anteriormente porque no sabía como buscarlo en google, luego de haber lanzado muchas busquedas y analizado varios articulos con varias palabras claves, escribi unas palabras claves que no recuerdo, y ahí estaba, jeje.
Saludos