htmlentities en <option> no funciona

Iniciado por FeArX, 1 Julio 2008, 17:41 PM

0 Miembros y 1 Visitante están viendo este tema.

FeArX

Hola, bueno, tengo el siguiente problema, una consulta en php que me trae valores de la base de dato

pero en la parte donde tengo el for para crear los option de un select
Código (php) [Seleccionar]

<select>
<?php for($i=0;$i<$cantFilas;$i++)
    echo 
'<option value="'.$row[id].'">'.htmlentities($row[nombre]." ".$row[apellido]).'</option>';
?>

</select>


si por ejemplo hay una persona que se llame: "Cándido Ñañito" me viene escrito en el navegador: "C&aacute;ndido &Ntilde;a&ntilde;ito", entonces mi pregunta es como puedo hacer para que no me salga así.

Agradeciendo de antemano y esperando una pronta respuesta

PD: si no le coloco el htmlentities, me sale un signo de interrogación en cada letra que no consiga.
Solo los mas debiles son los que no quieren ni estan dispuestos a dejar de depender de los demas

дٳŦ٭

Cita de: FeArX en  1 Julio 2008, 17:41 PM

PD: si no le coloco el htmlentities, me sale un signo de interrogación en cada letra que no consiga.

Revisa la codificación de tu html en la cabecera.

Saludos


Con sangre andaluza :)


FeArX

Gracias por la pronta respuesta, los headers están bien al principio del archivo está:

Código (php) [Seleccionar]

<?php
@session_start();
header("Content-Type: text/html; charset=ISO-8859-1");
include 
'sesion.php';
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />


ya probé quitando el header del php, y el header del meta y sigue el mismo problema, el "include 'sesion.php';" estan las validaciones de usuario asi que no creo que influya en el header. Alguna otra idea?

Agradeciendo de antemano y esperando una pronta respuesta
Solo los mas debiles son los que no quieren ni estan dispuestos a dejar de depender de los demas

Hans el Topo

no se para que conviertes los caracteres "especiales"

utiliza http://es.php.net/manual/es/function.html-entity-decode.php para decodificar los caracteres


si persiste el problema debe ser de codificaciones, ya sea en el header o en la base de datos
 

FeArX

bueno, creo que solucioné, utilizé como codificación
header("Content-Type: text/html; charset=iso-8859-1"); y me quitó el dolor de cabeza dentro de los option y afuera de los option deje igual el htmlentities donde estaba. Gracias por la ayuda prestada  ;D
Solo los mas debiles son los que no quieren ni estan dispuestos a dejar de depender de los demas