Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/02/2009, 10:56
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Sonrisa Respuesta: Caracteres raros ...

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$pos1);
        if (
$charAt == 'Ã') {
            
$char2 substr($source$pos2);
            
$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$pos2);
            
$dechex chr(hexdec($hex2));
            if(
$dechex == 'Ã') {
                
$pos += 2;
                if(
substr($source$pos1) == '%') {
                    
$pos++;
                    
$char2a chr(hexdec(substr($source$pos2)));
                    
$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
__________________
Salu2!

Última edición por Italico76; 06/02/2009 a las 11:32