Comunidad de diseño web y desarrollo en internet online

Almacenar Tildes y Acentos en BD phpmyadmin. WampServer 2.0

Citar            
MensajeEscrito el 20 Abr 2009 04:50 pm
Hola,
se que hay muchos post sobre este tema, los he leido y he intentado las posibles soluciones, pero sigo sin poder almacenar tildes y ñ en la BD phpmyadmin (WampServer 2.0) desde un formulario. Sí, que en cambio si los introduzco directamente desde el panel de administración de la BD luego los recupera correctamente.

He probado con cotejamiento y charset para las tablas y la BD con utf8_spanish_ci, introduciendo ííííííí y ñañañañ almacena ííííííí ñañañañ
Cambiando el cotejamiento a latin1_spanish_ci almacena lo mismo.

Y usando htmlentities en

Código :

$nombre=htmlentities($_POST['nombre']);
$descripcion=$_POST['descripcion'];  
$lat=$_POST['lat'];
$lng=$_POST['lng'];
$tipo=$_POST['tipo'];

$query = "INSERT INTO markers (nombre,descripcion,lat,lng,tipo) VALUES ('$nombre','$descripcion','$lat','$lng','$tipo');"; 
$result = mysql_query($query);

Almacena íííÃ&sh... ñañañaña

He cambiado los cotejamientos en la BD pero no consigo cambiar el de MySql. En el panel de control de phpmyadmin tengo esto:
MySQL
Servidor: localhost (localhost via TCP/IP)
Versión del servidor: 5.1.30-community-log
Versión del protocolo: 10
Usuario: root@localhost
Juegos de caracteres de MySQL: UTF-8 Unicode (utf8) ----> Donde se supone que cambio esto? Tengo que cambiarlo a utf8_spanish?

Gracias, un saludo.

Por riestra

73 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Abr 2009 08:00 pm
Una solución es que cuando tomes la data de tu BD utilices utf8_decode() para que a la hora de mostrarla lo haga bien...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 20 Abr 2009 08:03 pm

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 20 Abr 2009 09:14 pm
Ya he usado htmlentities pero no se si la esoty usando correctamente

Código :

$nombre=htmlentities($_POST['nombre']);
$descripcion=$_POST['descripcion'];  
$lat=$_POST['lat'];
$lng=$_POST['lng'];
$tipo=$_POST['tipo'];

$query = "INSERT INTO markers (nombre,descripcion,lat,lng,tipo) VALUES ('$nombre','$descripcion','$lat','$lng','$tipo');"; 
$result = mysql_query($query);


Donde y como tengo que usar utf8_decode?

Por riestra

73 de clabLevel



 

msie8
Citar            
MensajeEscrito el 20 Abr 2009 11:15 pm
prueba el cotejamiento latin swedish o algo asi

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 21 Abr 2009 08:08 am
Por qué me dices ese cotejamiento? No tiene sentido...

Por riestra

73 de clabLevel



 

msie8
Citar            
MensajeEscrito el 21 Abr 2009 09:03 am

riestra escribió:

Por qué me dices ese cotejamiento? No tiene sentido...

por que esta probando de a varios cotejamientos a ver con cual le atina



por cierto recorde un tip :P

http://www.cristalab.com/tips/como-colocar-acentos-y-caracteres-especiales-en-tu-web-c60502l/


XD se me olvido mencionarlo y eso que yo mismo lo escribí

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 21 Abr 2009 04:58 pm
jajajaja si inyaka tiene razon es q no recuerdo el cotejamiento con el q guardo en mi base de datos se que es algo de latin saludos :-)

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 02 Jul 2009 10:20 pm
hola amigos de Cristal Lab siempre miro este foro y me sirve de ayuda, estaba buscando un tipo de cotejamiento para los datos de mySQL y un post que encontre ak me dio la solucion y quiero compartirla es que al cargar los datos a mysql el codifica segun el cotejamiento, el standar en mySQL 5 es utf8 con lo cual crea poblemas de acentución y simbologia a nosotros los de habla hispana con lo q me vi en esa dificultad pero encontre y aplique a los datos traidos la funcion utf8_decode sobre los datos traidos este es el ej (yo traigo los datos en froma de objetos, es mas comodo)
//creo la consulta
$sql ="SELECT * FROM jugador";
//ejecuto
$res = mysql_query($sql,$this->linkactive)
//traigo y recorro los datos en forma de objeto
while($datos=mysql_fetch_object($res))
{
echo "<td width='264' align='left' valign='middle'>&nbsp;".utf8_decode($datos->nombre)."&nbsp;".utf8_decode($datos->apellido)."</td>";
}
y ya no creo problemas con la acentuacion

gracias que les sirva de ejemplo

Por rifarca

1 de clabLevel



 

Paraguay

firefox
Citar            
MensajeEscrito el 31 Jul 2009 07:03 pm
hola a todos...

les dejo esta funcion y mas... a mi me funciono bien...
// -para caracteres ñ á ç ®
//--------------------------------------------------------------------------------
<?php

function utf8_encode_mix($input, $encode_keys=false)
{
if(is_array($input))
{
$result = array();
foreach($input as $k => $v)
{
$key = ($encode_keys)? utf8_encode($k) : $k;
$result[$key] = utf8_encode_mix( $v, $encode_keys);
}
}
else
{
$result = utf8_encode($input);
}
return $result;
}
$conexion = mysql_connect('localhost', 'usuario', 'password');
mysql_select_db("BASEDATOS", $conexion);
$q=valorX;
$sql="SELECT * FROM NOMBRE_TABLA WHERE id = '".$q."'";
$result = mysql_query($sql);
echo "<table border='1'>
<tr><th>NOMBRE</th><th>APELLIDOS</th><th>Age</th></tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . utf8_encode_mix($row['nombre']) . "</td>";
echo "<td>" . utf8_encode_mix($row['apellidos']) . "</td>";
echo "<td>" . $row['edad'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($conexion);
}
?>

Por chema_one

0 de clabLevel



 

Yucatán/México

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.