Hola a tod@s! Llevo ya casi toda la tarde buscando la solución en post anteriores del foro y no encuentro la respuesta.
El caso es que tengo una base de datos con nombres. Algunos contienen acentos o letras ñ. En la base los datos están correctos, y las consultas a la base con phpMyAdmin funcionan bien.
La consulta la hago desde una página en flash a un PHP. Si dicha consulta se hace sobre un número, flash muestra perfectamente los nombres con ñ y acentos.
Hasta aquí todo bien.
Pero tengo que hacer un formulario en el que se inserte el nombre y apellido, lo mande a PHP y éste consulta a la base. Aquí está el problema, porque los nombres que contienen acento o ñ no los encuentra.
No sé qué falla aquí, porque incluso tengo un formulario de contacto que acepta perfectamente los acentos y la ñ.
¿Por qué falla la consulta?
Mi código php:
<?php
include("connexio.php");
$link=Conectarse();
$numero=$_POST['num'];
$nom=strtoupper($_POST['nom']);
$cognom=strtoupper($_POST['cognom']);
$resposta1="VALIDACION CORRECTA";
$resposta2="ERROR: INEXISTENTE";
$result=mysql_query("SELECT * FROM `tabla` WHERE `NSOCI` = $numero ",$link);
while($row = mysql_fetch_array($result)){
$res=$row['NSOCI'];
$res1=$row['NOM'];
$res2=$row['COGNOM1'];
}
$fecha=date("j-n-Y");
$valid=1;
$ipini = $_SERVER['REMOTE_ADDR'];
if(($res1==$nom) && ($res2==$cognom)){
$resposta="VALIDACION CORRECTA";
echo "&resposta=$resposta";
mysql_query("INSERT into 'gestor' FROM gestor (VALIDACIO, DAT_VALIDACIO, IP_INICIAL) values ($valid, $fecha, $ipini)");
}else{
$resposta="ERROR: No existe";
echo "&resposta=$resposta";
}
echo "&res=".$res;
echo utf8_encode("&res1=".$res1);
echo utf8_encode("&res2=".$res2);
echo utf8_encode("&res3=".$res3);
mysql_free_result($result);
mysql_close($link);
?>
No sé qué más probar ni donde buscar el error. Muchas gracias por vuestra ayuda!