Problema de codificacion

Iniciado por octavioxd, 25 Noviembre 2014, 11:57 AM

0 Miembros y 1 Visitante están viendo este tema.

octavioxd

Tengo un problema al relizar una consulta y no se como resolverlo

Código (php) [Seleccionar]
        case "1":
            if (isset($_REQUEST['usuario_login']) and isset($_REQUEST['password_login']) and
                strlen($_REQUEST['usuario_login']) > 4 and strlen($_REQUEST['password_login']) >
                4) {
                mysql_query("SET NAMES 'utf8'");
                $usuario = trim($_REQUEST['usuario_login']);
                $password = trim($_REQUEST['password_login']);
                $SQL_login = "SELECT nombre_de_usuario,contraseña,id,permisos FROM usuarios WHERE usuarios.nombre_de_usuario = '$usuario'";
                $SQL_login_query = mysql_query($SQL_login) or die(mysql_error());
                $SQL_login_array = mysql_fetch_array($SQL_login_query);
echo print_r($SQL_login_array);
                if (strtolower($usuario) == strtolower($SQL_login_array['nombre_de_usuario']) and strtolower($password) == strtolower($SQL_login_array['contraseña'])) {

                    $_SESSION['usuario_normal'] = $SQL_login_array['id'];
                   // echo $_SESSION['usuario_normal'];
                    echo "1";

                } else {
                    echo "2";
                }
            }
            break;


Me arroja el error "Invalid utf8 character string: 'ña'" poruqe en la consulta uno de los campos se llama contraseña y al tener la ñ arroja el error

MinusFour

Lo mas probable es que tu tabla está en latin1_swedish_ci (ISO-8859). Tienes que cambiarla a UTF-8.

Hadess_inf

Lo mejor que puedes hacer al diseñar una BD es no usar caracteres especiales (como la ñ "eñe") ... podrias usar:

- contrasena
- contrasenia

Saludos.

MinusFour

Cita de: Hadess_inf en 26 Noviembre 2014, 22:21 PM
Lo mejor que puedes hacer al diseñar una BD es no usar caracteres especiales (como la ñ "eñe") ... podrias usar:

- contrasena
- contrasenia

Saludos.

AHHHHHH. Ahora entiendo.

Prueba a poner esto en su lugar:

Código (php) [Seleccionar]
$SQL_login = "SELECT nombre_de_usuario,contraseña,id,permisos FROM usuarios WHERE usuarios.nombre_de_usuario = '$usuario'";

Código (php) [Seleccionar]
$SQL_login = "SELECT nombre_de_usuario,`contraseña`,id,permisos FROM usuarios WHERE usuarios.nombre_de_usuario = '$usuario'";