Foros del Web » Programando para Internet » PHP »

Resultado inesperado con htmlentities

Estas en el tema de Resultado inesperado con htmlentities en el foro de PHP en Foros del Web. bueno... tengo un gestor de contenido corriendo en perfectamente en un redhat 8 y ahora que lo estoy migrando de plataforma a CentOS, la funcion ...
  #1 (permalink)  
Antiguo 13/06/2005, 03:17
Avatar de kairocode  
Fecha de Ingreso: diciembre-2004
Mensajes: 20
Antigüedad: 13 años
Puntos: 0
Pregunta Resultado inesperado con htmlentities

bueno... tengo un gestor de contenido corriendo en perfectamente en un redhat 8 y ahora que lo estoy migrando de plataforma a CentOS, la funcion htmlentities no me funciona bien. Aqui les pongo un ejemplo de lo que me pasa:

fui a lo basico para descartar errores.
1. Cree un formulario
Código HTML:
<form method="POST" action="">
<input type="text" name="texto" value="">
<input type="submit" value="probar" name="submit">
</form> 
2. recupero el contenido utilizando htmlentities despues del post
Código PHP:
<?php echo htmlentities($_POST['texto']);?>
supongamos que ponemos una a acentuada en el campo, cuando presionamos el boton deberia salir algo como &aacute; en el codigo del la pagina, despues que el servidor la ejecuta. Pero para mi sorpresa lo que aparece es &Atilde;&iexcl; .

Despues segui probando con cada una de las vocales acentuadas, incluso con otros caracteres raros igual, no me devuelve lo que supuestamente deberia. Es como si no funcionara bien.. a la verdad no entiendo esto...

Algunos ejemplos
Código:
caracter        ejecutado       mostrado
-----------------------------------------
í               &Atilde;­   Ã
á               &Atilde;&iexcl; á
é               &Atilde;&copy;  é
ó               &Atilde;&sup3;  ó
ú               &Atilde;&ordm;  ú
ð               &Atilde;&deg;   ð
ç               &Atilde;&sect;  ç
si a alguien le ha pasado o tiene alguna idea ... le agradeceria mucho, algunos comentarios o sugerencias al respecto...

Última edición por kairocode; 13/06/2005 a las 23:16
  #2 (permalink)  
Antiguo 13/06/2005, 07:30
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
Muy raro...
Probá a ver si está bien la tabla que te devuelve
Código PHP:
<?php
$entities 
get_html_translation_table(HTML_ENTITIES);
foreach (
$entities as $entity) {
   
$new_entities[$entity] = htmlspecialchars($entity);
}
echo 
"<pre>";
print_r($new_entities);
echo 
"</pre>";
?>
  #3 (permalink)  
Antiguo 13/06/2005, 22:39
Avatar de kairocode  
Fecha de Ingreso: diciembre-2004
Mensajes: 20
Antigüedad: 13 años
Puntos: 0
Seppo gracias por responder ...

la tabla parece estar bien...
Código:
Array
(
    [ ] => &nbsp;
    [¡] => &iexcl;
    [¢] => &cent;
    [£] => &pound;
    [¤] => &curren;
    [¥] => &yen;
    [¦] => &brvbar;
    [§] => &sect;
    [¨] => &uml;
    [©] => &copy;
    [ª] => &ordf;
    [«] => &laquo;
    [¬] => &not;[*] => ­
    [®] => &reg;
    [¯] => &macr;
    [°] => &deg;
    [±] => &plusmn;
    [²] => &sup2;
    [³] => &sup3;
    [´] => &acute;
    [µ] => &micro;
    [¶] => &para;
    [·] => &middot;
    [¸] => &cedil;
    [¹] => &sup1;
    [º] => &ordm;
    [»] => &raquo;
    [¼] => &frac14;
    [½] => &frac12;
    [¾] => &frac34;
    [¿] => &iquest;
    [À] => &Agrave;
    [Á] => &Aacute;
    [Â] => &Acirc;
    [Ã] => &Atilde;
    [Ä] => &Auml;
    [Å] => &Aring;
    [Æ] => &AElig;
    [Ç] => &Ccedil;
    [È] => &Egrave;
    [É] => &Eacute;
    [Ê] => &Ecirc;
    [Ë] => &Euml;
    [Ì] => &Igrave;
    [Í] => &Iacute;
    [Î] => &Icirc;
    [Ï] => &Iuml;
    [Ð] => &ETH;
    [Ñ] => &Ntilde;
    [Ò] => &Ograve;
    [Ó] => &Oacute;
    [Ô] => &Ocirc;
    [Õ] => &Otilde;
    [Ö] => &Ouml;
    [×] => &times;
    [Ø] => &Oslash;
    [Ù] => &Ugrave;
    [Ú] => &Uacute;
    [Û] => &Ucirc;
    [Ü] => &Uuml;
    [Ý] => &Yacute;
    [Þ] => &THORN;
    [ß] => &szlig;
    [à] => &agrave;
    [á] => &aacute;
    [â] => &acirc;
    [ã] => &atilde;
    [ä] => &auml;
    [å] => &aring;
    [æ] => &aelig;
    [ç] => &ccedil;
    [è] => &egrave;
    [é] => &eacute;
    [ê] => &ecirc;
    [ë] => &euml;
    [ì] => &igrave;
    [í] => &iacute;
    [î] => &icirc;
    [ï] => &iuml;
    [ð] => &eth;
    [ñ] => &ntilde;
    [ò] => &ograve;
    [ó] => &oacute;
    [ô] => &ocirc;
    [õ] => &otilde;
    [ö] => &ouml;
    [÷] => &divide;
    [ø] => &oslash;
    [ù] => &ugrave;
    [ú] => &uacute;
    [û] => &ucirc;
    [ü] => &uuml;
    [ý] => &yacute;
    [þ] => &thorn;
    [ÿ] => &yuml;
    ["] => &quot;
    [<] => &lt;
    [>] => &gt;
    [&] => &amp;
)
a la verdad que esto esta muy raro...

que tal si alguien mas que tenga CentOS o que pudiera instalarlo hiciera la misma prueba...

asi descartamos posibildades...

Última edición por kairocode; 13/06/2005 a las 23:00
  #4 (permalink)  
Antiguo 13/06/2005, 23:38
Avatar de kairocode  
Fecha de Ingreso: diciembre-2004
Mensajes: 20
Antigüedad: 13 años
Puntos: 0
segui haciendo pruebas y algunos caracteres si se muestran correctamente...
Código:
caracter        ejecutado       mostrado
-----------------------------------------
&               &amp;           &
<               &lt;            <
>               &gt;            >
pero los otros si que no...
Código:
caracter        ejecutado               mostrado
---------------------------------------------------
¿               &Acirc;&iquest;         ¿
¡               &Acirc;&iexcl;          ¡
ñ               &Atilde;&plusmn;        ñ
©               &Acirc;&copy;           ©
  #5 (permalink)  
Antiguo 17/06/2005, 15:46
Avatar de kairocode  
Fecha de Ingreso: diciembre-2004
Mensajes: 20
Antigüedad: 13 años
Puntos: 0
Exclamación Problema resuelto

por fin encontre donde estaba el problema.... la cosa es en el fichero de configuracion de apache en la directiva AddDefaultCharset. Inicialmente estaba fijada a UTF-8 cambiandosela a ISO-8859-1 se resuelve el problema.

Vendria quedando asi:
Código:
AddDefaultCharset ISO-8859-1
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:39.