problemas tildes a la hora de guardar registros en mysql
Publicado por carlos (2 intervenciones) el 03/10/2017 16:54:05
Buenas
Tengo un problema a la hora de guardar registros en la base de datos mysql desde mi web, y es que se guardan con símbolos extraños donde deberían haber acentos, y me estoy volviendo loco:
Por un lado tengo el formulario de introducción de datos, que es un doc con extension php con codificacion UTF-8 y donde tengo como inicio de página:
y aquí el formulario
la pagina donde recojo los datos (php/gescar_subirdocumentacion.php) es una pagina tambien codificada UTF-8, extension php, donde no tiene nada de html, solo php donde recojo las variables:
hago echo de todo y todo es correcto, se ven los acentos perfectamente...ahí tenemos la INSERT:
donde hago un echo de $sql y la consulta es correcta, salen los acentos correctamente ( si la copio y la pego en el gestor de SQL de mysql, el insert funciona a la perfección) pero cuando vas a la tabla, en los registros los acentos no se ven, son símbolos raros (marqués es vez de marqués)...la BD esta en uft8_unicode _ci, la tabla está en uft8_unicode _ci y el campo descripcion que es donde me salen los errores esta en uft8_spanish_ci
Las tablas las había importado de MS Access y por si acaso he creado de 0 una nueva tabla llamada igual a ver si es por algún error de la importación, pero sigue pasando lo mismo
¿Se le ocurre algo a alguien?
Tengo un problema a la hora de guardar registros en la base de datos mysql desde mi web, y es que se guardan con símbolos extraños donde deberían haber acentos, y me estoy volviendo loco:
Por un lado tengo el formulario de introducción de datos, que es un doc con extension php con codificacion UTF-8 y donde tengo como inicio de página:
1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/base.css">
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
</head>
y aquí el formulario
1
2
3
4
5
<form action='php/gescar_subirdocumentacion.php?tipodoc=coche' method='POST' enctype='multipart/form-data'><strong>Subir nuevo archivo</strong><br>";
"Descripción: <input type='text' name='descripcion' required />
<input type='file' name='archivo' required />
<input type='submit' />
</form>
la pagina donde recojo los datos (php/gescar_subirdocumentacion.php) es una pagina tambien codificada UTF-8, extension php, donde no tiene nada de html, solo php donde recojo las variables:
1
2
$tipodoc=$_GET['tipodoc'];
$descripcion=$_POST['descripcion'];
hago echo de todo y todo es correcto, se ven los acentos perfectamente...ahí tenemos la INSERT:
1
2
$sql = "insert into $tabla ($campos) values ($id, '$descripcion')";
$querynuevodocumento = $con->query($sql);
donde hago un echo de $sql y la consulta es correcta, salen los acentos correctamente ( si la copio y la pego en el gestor de SQL de mysql, el insert funciona a la perfección) pero cuando vas a la tabla, en los registros los acentos no se ven, son símbolos raros (marqués es vez de marqués)...la BD esta en uft8_unicode _ci, la tabla está en uft8_unicode _ci y el campo descripcion que es donde me salen los errores esta en uft8_spanish_ci
Las tablas las había importado de MS Access y por si acaso he creado de 0 una nueva tabla llamada igual a ver si es por algún error de la importación, pero sigue pasando lo mismo
¿Se le ocurre algo a alguien?
Valora esta pregunta
0