Foros del Web » Programando para Internet » PHP »

problema al guardar registros en mysql (tildes y ñs)

Estas en el tema de problema al guardar registros en mysql (tildes y ñs) en el foro de PHP en Foros del Web. que no consigo guardar registros en la base de datos mysql cuando meto palabras con tildes o ñs o por ejemplo "3º" y eso que ...
  #1 (permalink)  
Antiguo 06/12/2010, 13:47
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
problema al guardar registros en mysql (tildes y ñs)

que no consigo guardar registros en la base de datos mysql cuando meto palabras con tildes o ñs o por ejemplo "3º" y eso que uso lo siguiente para que no me pase pongo el codigo.
Código PHP:
<?php

function preparar_consulta($query)
    {
        
$mq_activado get_magic_quotes_gpc();
        if(
function_exists("mysql_real_escape_string"))
        {
            if(
$mq_activado)
            {
                
$consulta stripslashes($query);
            }
            
$query mysql_real_escape_string($query);
        }
        else
        {
            if(!
$mq_activado)
            {
                
$query addslashes($query);
            }
        }
        return 
$query;
    }

?>

y asi es como uso la funcion cuando asigno a una variable los campos del formulario pasados por $_post

Código PHP:
$titulo preparar_consulta(htmlentities($_POST["titulo"],ENT_QUOTES,"UTF-8"));
$ano preparar_consulta(htmlentities($_POST["ano"],ENT_QUOTES,"UTF-8"));
$director=preparar_consulta(htmlentities($_POST["director"],ENT_QUOTES,"UTF-8")); 
  #2 (permalink)  
Antiguo 06/12/2010, 13:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema al guardar registros en mysql (tildes y ñs)

y me pregunto, ¿si especificas los header() y <meta/> diciendo que conjunto de caracteres utilizarás?

porque tu código solo resuelve la mitad del problema, ahora, para que se visualicen los datos bien en el navegador debería existir coherencia entre conjuntos de caracteres... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/12/2010, 14:03
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: problema al guardar registros en mysql (tildes y ñs)

hola paketrueke ke tal?

mira en el head tengo lo siguiente content="text/html; charset=utf-8"

te pongo un ejemplo de como se salen las palabras en la base de datos, viendo los registros atraves del phpmyadmin mira los tengo asi

el nombre pepe le e puesto una tilde para probar y me sale esto al guardarlo

pep&eacute;
  #4 (permalink)  
Antiguo 06/12/2010, 14:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema al guardar registros en mysql (tildes y ñs)

Cita:
Iniciado por rufus Ver Mensaje
el nombre pepe le e puesto una tilde para probar y me sale esto al guardarlo

pep&eacute;
¿entonces cual es el problema?

deberías saber que la función htmlentities() convierte precisamente los acentos, y caracteres especiales en sus respectivas entidades...

Cita:
á => &aacute;
é => &eacute;
í => &iacute;
y bueno, si observas el dato a través de phpMyAdmin es obvio que te va a salir así... pero si lo imprimes te aseguro que debe salir bien!!

por eso es bueno leer siempre el manual...
http://php.net/htmlentities

porque eso de no saber que hacen las funciones que utilizamos es un mal vicio...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/12/2010, 14:23
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: problema al guardar registros en mysql (tildes y ñs)

ok ya decia yo que tenia bien el codigo y que no funcionase era raro...

saludos paketrueke

Etiquetas: mysql, registros, tildes
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 23:01.