Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2012, 03:12
terrakio
 
Fecha de Ingreso: julio-2008
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 3
Pregunta quitar acentos en cadena sacada de una base de datos

hola chicos, tengo un pequeño problema, estoy intentando sacar los datos de un campo VARCHAR con mysql, pasarlos por php para quitar los acentos y luego volver a meterlos en la base de datos.
bueno os dejo el código

Código PHP:
include_once('conn.php');


 function 
sinacentos($string)
{
 
    
$string trim($string);
 
    
$string str_replace(
        array(
'á''à''ä''â''ª''Á''À''Â''Ä'),
        array(
'a''a''a''a''a''A''A''A''A'),
        
$string
    
);
 
    
$string str_replace(
        array(
'é''è''ë''ê''É''È''Ê''Ë'),
        array(
'e''e''e''e''E''E''E''E'),
        
$string
    
);
 
    
$string str_replace(
        array(
'í''ì''ï''î''Í''Ì''Ï''Î'),
        array(
'i''i''i''i''I''I''I''I'),
        
$string
    
);
 
    
$string str_replace(
        array(
'ó''ò''ö''ô''Ó''Ò''Ö''Ô'),
        array(
'o''o''o''o''O''O''O''O'),
        
$string
    
);
 
    
$string str_replace(
        array(
'ú''ù''ü''û''Ú''Ù''Û''Ü'),
        array(
'u''u''u''u''U''U''U''U'),
        
$string
    
);
 
    
$string str_replace(
        array(
'ñ''Ñ''ç''Ç'),
        array(
'n''N''c''C',),
        
$string
    
);
 
    
//Esta parte se encarga de eliminar cualquier caracter extraño
 
 
    
return $string;
}

        


$consulta "SELECT id,  alias FROM MiTabla where id between 1 and 15";
$result $dbh->query($consulta);





 foreach (
$result as $row) {
      
      
      
      
$id=$row['id'];
      
$alias=sinacentos($row['alias']);
      

    
      
        
$sql "UPDATE MiTabla
            SET alias=?
            WHERE id=?"
;
$q $dbh->prepare($sql);
$q->execute(array($alias,$id));
      
      

            
            
}
  
  
$dbh NULL
el problema está en que no se me quitan los acentos todo queda igual.
por ejemplo un campo alias tiene la valor "y-al-tercer-año-resucitó" y despues de pasarla por el script queda igual. a ver porfavor si alhuien me puede ayudar con esto.