Foros del Web » Programando para Internet » PHP »

Introducir datos en mysql [SOLUCIONADO]

Estas en el tema de Introducir datos en mysql [SOLUCIONADO] en el foro de PHP en Foros del Web. Buenas, me ha surgido el siguiente problema. Resulta que al introducir los datos en una bse de datos mysql desde un formulario normal, tipo: Código ...
  #1 (permalink)  
Antiguo 13/06/2008, 02:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 48
Antigüedad: 16 años
Puntos: 1
Introducir datos en mysql [SOLUCIONADO]

Buenas,

me ha surgido el siguiente problema. Resulta que al introducir los datos en una bse de datos mysql desde un formulario normal, tipo:

Código PHP:
<form action="guardar.php" method="post">
<
label for="nombre">Nombre</label><br />
<
input id="nombre" type="text" name="nombre" value="" /><br /><br />
<
label for="apellido">Apellido</label><br />
<
input id="apellido" type="text" name="apellido" value="" /><br /><br />
<
label for="dni">Dni</label><br />
<
input id="dni" type="text" name="dni" value="" /><br /><br />
<
br /><br />
<
button type="submit" name="submit" value="1">Enviar Noticia</button>
</
form
Me introduce los datos mal, es decir las tildes y las ñ me las representa mal. El problema no es que me los muestre mal, si no que en la propia base de datos ya salen mal. La codificacion de la base de datos es utf8_unicode_ci. Es raro porque si los introduzco yo manualmente (con el phpmyadmin) no tengo ese problema. Un saludo y gracias.

Última edición por Flinki; 13/06/2008 a las 06:35 Razón: Problema solucionado
  #2 (permalink)  
Antiguo 13/06/2008, 05:50
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Introducir datos en mysql

cuando obtienes los datos en el php antes de introducir los datos utiliza las funciones utf8_encode.

Tambien puedes pasar esos caracteres a codigos html con htmlentities (creo).

Despues para mostrarlos si utilizaste la primera ahora utilizas la inversa utf8_decode y si utilizaste la segunda html_entity_decode

Ej:
Introducir datos
Código PHP:
$nombre=utf8_encode($_POST['nombre']); 
Ver
Código PHP:
echo utf8_decode($nombre
Ej2:
Introducir datos
Código PHP:
$nombre=htmlentities($_POST['nombre']); 
ver
Código PHP:
echo html_entity_decode($nombre); 
Por otro lado, aunque veas mal los caracteres desde phpmyadmin al mostrarlos en la pagina utiliza esto
Código PHP:
echo utf8_decode($nombre
quizas ya los veas bien
  #3 (permalink)  
Antiguo 13/06/2008, 06:38
 
Fecha de Ingreso: marzo-2008
Mensajes: 48
Antigüedad: 16 años
Puntos: 1
Respuesta: Introducir datos en mysql [SOLUCIONADO]

Muchas gracias! Ya esta solucionado.

Por si a alguien le sirve, para introducir los datos utilizo
Código PHP:
$nombre=utf8_decode($_POST['nombre']); 
Para mostrar luego los datos usamos
Código PHP:
echo utf8_encode($MostrarFila[4]) 
Jeje, es alreves de como dijo nx00 xD pero me sirvió de mucho su ayuda.
Gracias
  #4 (permalink)  
Antiguo 13/06/2008, 07:04
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Introducir datos en mysql [SOLUCIONADO]

al reves...

ok, me lo apunto.
  #5 (permalink)  
Antiguo 26/12/2008, 20:49
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Introducir datos en mysql [SOLUCIONADO]

Muchisisisisisisismas gracias, el utf8_decode jamas me lo hubiera pensado, Gracias de nuevo, saludos
  #6 (permalink)  
Antiguo 26/12/2008, 21:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Introducir datos en mysql [SOLUCIONADO]

y no era mas fácil.... meter un <meta/> especificando UTF-8 ... ademas, de enviar el header correspondiente... ???



digo, ahora.... como siempre, va a resultar mas difícil de mantener... ya que habrán utf8_* por doquier, y ... en fin, suerte!

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 29/12/2008, 11:55
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Introducir datos en mysql [SOLUCIONADO]

Cita:
Iniciado por pateketrueke Ver Mensaje
y no era mas fácil.... meter un <meta/> especificando UTF-8 ... ademas, de enviar el header correspondiente... ???



digo, ahora.... como siempre, va a resultar mas difícil de mantener... ya que habrán utf8_* por doquier, y ... en fin, suerte!

Hola, lo que pasa es que yo ya tenia el meta e incluso aparte de eso y de que mi base de datos en mysql estaba en la misma codificacion ya tenia el utf8_encode() pero no funcionaba :| hasta que aqui me dijeron que era utf8_decode() funciono, todo extraño :S

Saludos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:49.