Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2008, 03:27
Humar
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Problema con PHP y MySQL - Caractéres extraños

Hola,

Tengo un pequeño problema en la aplicación que estoy haciendo con php y mysql que, si bien no parece demasiado importante, está haciendo que me quede estancado, ya que no encuentro solución alguna, de modo que lo comento para ver si alguien puede echarme un cable.

Resulta que yo tengo un formulario con un par de cajas de texto donde el usuario introduce un nombre y/o unos apellidos para hacer una búsqueda en una base de datos. Este formulario llama a un archivo php, con el siguiente código, que es el que se encarga de generar la consulta:

Código PHP:
<?

            $nombre
=$_POST["nombre"];
            
$apellidos=$_POST["apellidos"];
            
$cadenabusqueda;
            if(
$nombre!=""){
                
$cadenabusqueda=$cadenabusqueda ' WHERE nombre LIKE "%' $nombre '%"' ;
            }
            if(
$apellidos!=""){
                if(
$cadenabusqueda==""){
                    
$cadenabusqueda=$cadenabusqueda ' WHERE apellidos LIKE "%' $apellidos '%"' ;
                }else{
                    
$cadenabusqueda=$cadenabusqueda ' AND apellidos LIKE "%' $apellidos '%"';
                }
            }

$strURL 'listado.php?Tabla=usuarios&CadenaBusqueda=' $cadenabusqueda
            
header("Location: ".$strURL);
    
?>
Este a su vez pasa por la cabecera la consulta a otro fichero php que es donde se generará el listado con los resultados:

Código PHP:
$cadenabusqueda=$_GET['CadenaBusqueda'];

        
$consulta="SELECT * FROM " $nombretabla $cadenabusqueda;
$sRegistros=mysql_query($consulta) or die ("Se ha producido un error: " mysql_error()); 
Pues bien, mi problema es que al ejecutar la consulta, por alguna razón que desconozco se generan caracteres extraños (¿ansi?) en los valores del WHERE en la consulta. Por ejemplo, si introduzco como nombre "Fernando", la búsqueda se hace por "þrnando". þ es el caracter ansi equivalente a FE.

Empiezo a desesperarme un poco al no ver realmente que fallo estoy cometiendo, asi que si alguien puede ayudarme, se lo agradezco de antemano. Un saludo.