Anatasia: me salvastes la vida con lo de la codificacion en la DB
El rombito lo ves por otro motivo y te digo como lo solucioné yo en los sitios donde muestro noticias (independientemente de si estan almacenadas en una DB o en un archivo de texto) - simplemente usa
crossUrlDecode() Código PHP:
<?php
$texto_ok = crossUrlDecode($texto);
?>
Donde la funcion
crossUrlDecode() es un aporte que se hizo en PHP.net y es este el code:
Código PHP:
<?
function crossUrlDecode($source) {
// arregla acentos!
$decodedStr = '';
$pos = 0;
$len = strlen($source);
while ($pos < $len) {
$charAt = substr ($source, $pos, 1);
if ($charAt == 'Ã') {
$char2 = substr($source, $pos, 2);
$decodedStr .= htmlentities(utf8_decode($char2),ENT_QUOTES,'ISO-8859-1');
$pos += 2;
}
elseif(ord($charAt) > 127) {
$decodedStr .= "&#".ord($charAt).";";
$pos++;
}
elseif($charAt == '%') {
$pos++;
$hex2 = substr($source, $pos, 2);
$dechex = chr(hexdec($hex2));
if($dechex == 'Ã') {
$pos += 2;
if(substr($source, $pos, 1) == '%') {
$pos++;
$char2a = chr(hexdec(substr($source, $pos, 2)));
$decodedStr .= htmlentities(utf8_decode($dechex . $char2a),ENT_QUOTES,'ISO-8859-1');
}
else {
$decodedStr .= htmlentities(utf8_decode($dechex));
}
}
else {
$decodedStr .= $dechex;
}
$pos += 2;
}
else {
$decodedStr .= $charAt;
$pos++;
}
}
return $decodedStr;
}
?>
Voy a colocar la forma en que solucione el problema que tuve en mi hilo porque me base en el paso-1 de tu solucion y despues tome otro camino
Gracias de nuevo!!!!!! y besos