Foros del Web » Programando para Internet » PHP » Zend »

Zend_Navigation elimina acentos

Estas en el tema de Zend_Navigation elimina acentos en el foro de Zend en Foros del Web. Hola a todos! No doy en la tecla con esto..., tengo los enlaces del menu en una tabla y cuando intento mostrarlos se ven todos ...
  #1 (permalink)  
Antiguo 11/09/2009, 12:51
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 21 años, 1 mes
Puntos: 24
Zend_Navigation elimina acentos

Hola a todos!

No doy en la tecla con esto..., tengo los enlaces del menu en una tabla y cuando intento mostrarlos se ven todos pero me elimina los textos que contengan acentos.
Código html:
Ver original
  1. <ul class="navigation">
  2.     <li class="active">
  3.         <a href="/proyecto/" title="Inicio">Inicio</a>
  4.     </li>
  5.     <li>
  6.         <a href="/proyecto/videos" title="Videos">Videos</a>
  7.     </li>
  8.     <li>
  9.         <a href="/proyecto/imagenes" title=""/>
  10.     </li>
  11. </ul>
Por lo que puedo ver Zend_Navigation utiliza la función "escape" de Zend_View

Zend/View/Helper/Navigation/Menu.php
Código php:
Ver original
  1. return '<' . $element . $this->_htmlAttribs($attribs) . '>'
  2.              . $this->view->escape($label)
  3.              . '</' . $element . '>';

y en esta se utiliza htmlspecialchars

Zend/View/Abstract.php
Código php:
Ver original
  1. public function escape($var)
  2.     {
  3.         if (in_array($this->_escape, array('htmlspecialchars', 'htmlentities'))) {
  4.             return call_user_func($this->_escape, $var, ENT_COMPAT, $this->_encoding);
  5.         }
  6.  
  7.         return call_user_func($this->_escape, $var);
  8.     }

en mi caso los valores para call_user_func() son los siguientes
$this->_escape = "htmlspecialchars"
$var = "Imágenes"
$this->_encoding = "UTF-8" (a esto lo configuro yo desde el .ini)

y cuando retorna esta ultima función esta vacía

Creo q htmlspecialchars no debería hacer nada con los acentos, pero me elimina completamente la entrada, alguna idea de donde puede estar el error ?
  #2 (permalink)  
Antiguo 11/09/2009, 15:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Zend_Navigation elimina acentos

¿Te refieres a que todo el texto esta vacio o solo elimina los acentos y los cambia por otra cosa?

Saludos.
  #3 (permalink)  
Antiguo 11/09/2009, 15:26
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 21 años, 1 mes
Puntos: 24
Elimina completamente el texto, por ejemplo, en el último enlace que se ve en el código html el texto y el title deberían ser "Imágenes de buceo" y al pasar por la función queda "" elimina las tres palabras

Hice una prueba directamente en el layout y se ve bien
Código php:
Ver original
  1. <?php echo $this->escape("Imágenes de buceo")?>

Parece que tengo un problema de codificación en la base de datos. Las tablas están como utf8_unicode_ci pero ingreso el texto manualmente y si uso &aacute; tampoco funciona. Hay que usar otro tipo de codificación para poder ingresar los textos manualmente ?

Última edición por GatorV; 11/09/2009 a las 16:14
  #4 (permalink)  
Antiguo 11/09/2009, 16:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Zend_Navigation elimina acentos

Evidentemente al parecer el problema es la codificación en tu BDD, prueba usar ut8_general_ci.

Saludos.
  #5 (permalink)  
Antiguo 11/09/2009, 17:00
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 21 años, 1 mes
Puntos: 24
Respuesta: Zend_Navigation elimina acentos

No, cambié todo a utf8_general_ci (Base de datos y tabla) y sige igual. Mañana voy a seguir haciendo pruebas tal vez sin Zend_Navigation para ver que devuelve la DB, si se te ocurre algo q pueda probar te lo agradezco.

Un saludo, gracias .
  #6 (permalink)  
Antiguo 12/09/2009, 16:06
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 23 años
Puntos: 69
Respuesta: Zend_Navigation elimina acentos

Lisandro, como estás?
Te hago una pregunta. Tenés seteada la Vista de tu aplicación para usar el charset UTF8?

Yo tuve el mismo problema hace un tiempo. Y entre eso y setear UTF8 también en el adaptador de la base de datos, salió funcionando de primera.

Probalo y me contás. Da gusto ver usuarios que se meten dentro del código de Zend Framework :D
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
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 10:30.