Comunidad de diseño web y desarrollo en internet online

encode utf8

Citar            
MensajeEscrito el 10 Ene 2009 11:02 pm
Antes de nada, ya he leido varios hilos sobre el tema del utf8 y demás, incluído el anclado de arriba....

Quería preguntaros, que cuando consulto en mi bd, los caracteres extraños, tipo acentos, y eñes, no me los lee. El cotejamiento de cada campo está en utf8_spanish, pero según creo, o al menos, en otros php lo hice así. Antes de la variable (en el php) debo poner: utf8_encode , y ya me lo leía.... pero en este script, lo intento y al entrar en la bd sigue sin reconocerlo.

El php es éste:

Código :

<?php
include("includes/config.php");
include("includes/funciones.php");

$cnx=conectar();

$nombre=$_POST["nombre"]; 
$apellidos=$_POST["apellidos"]; 
$nacimiento=$_POST["nacimiento"]; 
$sexo=$_POST["sexo"]; 
$direccion=$_POST["direccion"]; 
$poblacion=$_POST["poblacion"]; 
$provincia=$_POST["provincia"];
$pais=$_POST["pais"];
$cp=$_POST["cp"];
$email=$_POST["email"];
$telefono=$_POST["telefono"];
$peso=$_POST["peso"];
$estatura=$_POST["estatura"];
$act_fisica=$_POST["act_fisica"];
$complexion=$_POST["complexion"];
$estado_habitual=$_POST["estado_habitual"];
$detalles=$_POST["detalles"]; 
 
if($nombre==NULL|$apellidos==NULL|$nacimiento==NULL|$sexo==NULL|$direccion==NULL|$poblacion==NULL|$provincia==NULL|$pais==NULL|$cp==NULL|$email==NULL|$telefono==NULL|$peso==NULL|$estatura==NULL|$act_fisica==NULL|$complexion==NULL|$estado_habitual==NULL) { 
echo "mensaje=Por favor, rellene todos los campos"; 
}else{ 
mysql_query("INSERT INTO usuarios (nombre,apellidos,nacimiento,sexo,direccion,poblacion,provincia,pais,cp,email,telefono,peso,estatura,act_fisica,complexion,estado_habitual,detalles) VALUES ('$nombre','$apellidos','$nacimiento','$sexo','$direccion','$poblacion','$provincia','$pais','$cp','$email','$telefono','$peso','$estatura','$act_fisica','$complexion','$estado_habitual','$detalles')",$cnx); 
echo "mensaje=Usuario Registrado, en breve recibirá sus datos de conexión"; 
mysql_close($cnx); 
} 


Incluso en el html, puse ésto:

Código :

<meta http-equiv="Content-Type" content="text/html; charset=utf8_spanish_ci" />

Que no se si es correcto o no... pero probé, y tampoco me funciona.

¿Dónde debo poner dentro de mi php, el utf8_encode?

Mil gracias por vuestra ayuda

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Ene 2009 03:14 am
El meta para utf-8 es

Código HTML :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


Y se pone dentro del head de tu html resultante, antes de la etiqueta title

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Titulo del documento</title>
</head>

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 11 Ene 2009 03:21 am
Tambien pienso que lo mejor para la BD sería que el encode fuese también UTF-8 no ninguna de sus derivaciones...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

msie7
Citar            
MensajeEscrito el 11 Ene 2009 03:25 am
mm en la BD hay solo UTF-8?? yo siempre he visto que los de UTF-8 en el MySQL son varios que se separan con un subguion, asi como el que dicen en el post anterior utf8_spanish_ci, hay varios para escoger, pero no he visto ninguno que sea solo UTF-8 a secas... pero en el html sí es solamente utf-8, sin mas ni mas. En la BD solo hay el label de agrupacion que dice utf-8 pero tu debes escojer cual de estos.

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 11 Ene 2009 03:54 am

Código MySQL :

CREATE DATABASE nom_db DEFAULT CHARACTER SET utf8;

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

msie7
Citar            
MensajeEscrito el 11 Ene 2009 04:01 am
Cuando haces eso, toma una utf-8 por defecto, por ejemplo el utf8_general_ci es el que toma mi MySQL (y lo acabo de probar eh)

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 11 Ene 2009 04:06 am
Hehe okp...
*sale corriendo a que aprendí hoy??? ^^

Realmente no he trabajado taaaaaaaanto con MySQL, comunmente trabajo con PostgreSQL...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

msie7
Citar            
MensajeEscrito el 11 Ene 2009 03:03 pm
Pues... he hecho los cambios q me habéis dicho.... he cambiado en el html, por sólo utf8. Y en la BD el cotejamiento he puesto el utf8_general_ci (q es la posibilidad q me da más genérica) ....

Pero aún sigue sin reproducirme los carácteres especiales :(

¿Alguna idea del porqué?

Gracias por vuestra ayuda.

Por Hapki

Claber

268 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ene 2009 08:52 pm
Jooo.... tengo puesto el cotejamiento en la BD, en utf8, la codificacion del texto html, está en uft8, en el php, las variables, pongo:

Código :

$salida.="&nombre=".utf8_encode($fila['nombre']);
, en el flash, tb tengo puesto: [code[System.useCodepage = true;[/code]

Joer... y sigue sin reproducirme los acentos ni nada..... pero que más puedo hacer??!!

Por ejemplo, Belén, se me muestra como: Belén .. aggrrrrr....

A nadie se le ocurre cómo lo puedo solucionar.. yo ya no sé que más probar :(

Por Hapki

Claber

268 de clabLevel



 

firefox

 

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