Foros del Web » Programando para Internet » PHP »

problemas con los acentos

Estas en el tema de problemas con los acentos en el foro de PHP en Foros del Web. El algoritmo es sencillo, necesito buscar una palabra en la bd y remplazarla por otra, pero la palabra que busco es con acento. busco la ...
  #1 (permalink)  
Antiguo 08/06/2009, 20:13
Avatar de gakutaru  
Fecha de Ingreso: agosto-2005
Ubicación: frente a mi NtbK
Mensajes: 239
Antigüedad: 18 años, 7 meses
Puntos: 6
Pregunta problemas con los acentos

El algoritmo es sencillo, necesito buscar una palabra en la bd y remplazarla por otra, pero la palabra que busco es con acento.
busco la frace 'Gerencia Ingeniería y Geología' de esta misma manera esta guardada en la bd. y este es el codigo que utilizo para buscarla:

Código PHP:
<?php
//$buscar = 'Gerencia Ingeniería y Geología';
echo $buscar 'Gerencia Ingenier&iacute;a y Geolog&iacute;a';
$remplazar 'Gerencia Mina';
include(
'conectar.php');
    
$i=0;
    
$cons01="SELECT * FROM gerencia  WHERE Gerencia = '$buscar'";
    
$resultado01 mysql_query($cons01$conexion);
    while(
$Arreglo01 mysql_fetch_array($resultado01)){ 
        echo 
"dentro del while <br>";
        echo 
$Arreglo01[Gerencia];
        echo 
"<br>".$IdGerencia[$i] = $Arreglo01[IdGerencia];
        
$i++;
    }
//fin while
?>
pero nisiquiera entra al while, el algoritmo encuentra palabras que sean sin acento.
entonces:
¿como hago para que encuentre palabras con acento?
uso xampp
  #2 (permalink)  
Antiguo 08/06/2009, 20:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con los acentos

Tienes que buscarlas de la forma normal

$buscar = 'Gerencia Ingeniería y Geología';

Me dejas saber
  #3 (permalink)  
Antiguo 08/06/2009, 20:45
Avatar de gakutaru  
Fecha de Ingreso: agosto-2005
Ubicación: frente a mi NtbK
Mensajes: 239
Antigüedad: 18 años, 7 meses
Puntos: 6
Respuesta: problemas con los acentos

Cita:
Iniciado por abimaelrc Ver Mensaje
Tienes que buscarlas de la forma normal

$buscar = 'Gerencia Ingeniería y Geología';

Me dejas saber
no me funciona

Código PHP:
<?php
//echo $buscar = 'Gerencia Ingeniería y Geología';
//echo $buscar = 'Gerencia Ingenier&iacute;a y Geolog&iacute;a';
echo $buscar 'Gerencia Ingeniería y Geología'//aca la frace y no funciona
$remplazar 'Gerencia Mina';
include(
'conectar.php');
    
$i=0;
    
$cons01="SELECT * FROM gerencia  WHERE Gerencia = '$buscar'";
    
$resultado01 mysql_query($cons01$conexion);
    while(
$Arreglo01 mysql_fetch_array($resultado01)){ 
    echo 
"dentro del while <br>";
    echo 
$Arreglo01[Gerencia];
    echo 
"<br>".$IdGerencia[$i] = $Arreglo01[IdGerencia];
            
$i++;
    }
//fin while
?>
el explorador muestra:

Código:
Gerencia IngenierÃ*a y GeologÃ*a
pero lo q muestre el explorador da =, pues html no se ejecuta en el servidor.
  #4 (permalink)  
Antiguo 08/06/2009, 20:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: problemas con los acentos

No te preocupes pero busca de esta manera

$cons01="SELECT * FROM gerencia WHERE Gerencia LIKE '%$buscar%'";
  #5 (permalink)  
Antiguo 08/06/2009, 20:58
Avatar de gakutaru  
Fecha de Ingreso: agosto-2005
Ubicación: frente a mi NtbK
Mensajes: 239
Antigüedad: 18 años, 7 meses
Puntos: 6
Respuesta: problemas con los acentos

Cita:
Iniciado por abimaelrc Ver Mensaje
No te preocupes pero busca de esta manera

$cons01="SELECT * FROM gerencia WHERE Gerencia LIKE '%$buscar%'";
Tampoco me funciono, pero lo resolvi de otra manera, gracias no conocia el where-like
lo busque y utilize el comodin '_' asi que la solucion es:

Código PHP:
<?php
$remplazar 
'Gerencia Mina';
include(
'conectar.php');
    
$i=0;
    
$cons01="SELECT * FROM gerencia WHERE Gerencia LIKE 'Gerencia Ingenier_a y Geolog_a'";
    
$resultado01 mysql_query($cons01$conexion);
    while(
$Arreglo01 mysql_fetch_array($resultado01)){ 
    echo 
"dentro del while <br>";
    echo 
$Arreglo01[Gerencia];
    echo 
"<br>".$IdGerencia[$i] = $Arreglo01[IdGerencia];
            
$i++;
    }
//fin while
?>
gracias.
  #6 (permalink)  
Antiguo 08/06/2009, 23:01
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: problemas con los acentos

Es mejor hacer las cosas bien. Revisa la codificación de caracteres de tus archivos, y de tu base de datos. Debe ser la misma para que no haya problemas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:01.