Foros del Web » Programando para Internet » PHP »

Ayuda con codificacion de caracteres.

Estas en el tema de Ayuda con codificacion de caracteres. en el foro de PHP en Foros del Web. Hola que tal, la base de datos tiene codificacion de caracteres UTF-8, el cotejamiento de la tabla y los campos es utf8_spanish2_ci . Cuando recupero ...
  #1 (permalink)  
Antiguo 23/07/2008, 18:18
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Ayuda con codificacion de caracteres.

Hola que tal, la base de datos tiene codificacion de caracteres UTF-8, el cotejamiento de la tabla y los campos es utf8_spanish2_ci . Cuando recupero los datos utilizo htmlentities y el charset de todas las paginas es UTF-8. Tambien he ocupado el utf8_encode. Sin embargo siguen apareciendo caracteres extraños cuando se usan acentos o eñes.

Quisiera saber si existe una funcion que convierta a utf-8 los caracteres cundo se insertan los datos en la base de datos a travez del formulario. Ya que la mayoria de usuarios usan el copiar/pegar desde un editor de texto.

Saludos!
  #2 (permalink)  
Antiguo 23/07/2008, 18:56
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Ayuda con codificacion de caracteres.

http://es.php.net/manual/es/function.utf8-decode.php
http://es.php.net/manual/es/function.utf8-encode.php
  #3 (permalink)  
Antiguo 23/07/2008, 20:38
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Ayuda con codificacion de caracteres.

Entonces, por ejemplo, para ingresar a la base de dattos en formato UTF-8 seria algo asi?:
Código PHP:
$mensajeutf8_encode($_POST['mensaje']);

$sql=("INSERT INTO mensajes(mensaje) VALUES ('$mensaje')"$con); 
y despues para recuperar los datos echo utf8_decode($row['mensaje']);
  #4 (permalink)  
Antiguo 23/07/2008, 20:42
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Ayuda con codificacion de caracteres.

Intenta usando sólo utf8_decode al obtener los datos. Si igual da problemas, intenta como dices.

Saludos.

PD: Te faltó el mysql_query en $sql, no?
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




La zona horaria es GMT -6. Ahora son las 13:03.