Input + Acentos = problemas

204 views
Skip to first unread message

Ernesto

unread,
Nov 20, 2008, 6:18:46 AM11/20/08
to CakePHP en Español
Hola,

como todos vosotros desde el principio de usar cake he tenido que
tener en cuenta alguna configuración para que soporte correctamente
caracteres como los acentos, las ñ,...
Creí haberlo solucionado añadiendo
echo $html->charset('iso-8859-1');
en el layotu/default.ctp

pero ahora me encuentro que cuando dibujo inputs con
$form->input
no me dibuja dichos acentos, es mas, no pone nada en el input, el
value queda vacio.
Pero si pruebo a hacer un echo de ese mismo campo se muestra
correctamente x pantalla.

Estoy con la versión cake_1.2.0.7692-rc3.

¿alguna pista?

PD: he buscado en el grupo y no he visto nada al respecto... y aunque
he visto en internet que a otra gente tb le ocurre no he encontrado la
solución "googleando".

Gracias y Saludos,

Ernesto.

jordicakephp

unread,
Nov 20, 2008, 8:21:53 AM11/20/08
to CakePHP en Español
Hola Ernesto,

Recién me cambié a la misma versión que utilizas tú y a mí me pasa lo
mismo. Esto no me pasaba antes con la versión anterior, aunque es
posible que tocara algo que no recuerdo. Tengo esto pendiente... Un
saludo. Jordi

José Lorenzo

unread,
Nov 20, 2008, 8:24:58 AM11/20/08
to cakep...@googlegroups.com
¿Pueden por favor mostrar el codigo que nos les está funcionando?

2008/11/21 jordicakephp <jordic...@gmail.com>

Ernesto

unread,
Nov 20, 2008, 2:16:02 PM11/20/08
to CakePHP en Español
Hola,
el código no tiene ningún misterio (a mi parecer):

la tabla en la que se basa es

var $centrosdeportivos = array(
'id' => array('type'=>'integer', 'null' => false,
'default' => NULL, 'length' => 5, 'key' => 'primary'),
'nombre' => array('type'=>'string', 'null' => false,
'length' => 100),
'direccion' => array('type'=>'string', 'null' => true,
'length' => 500),
'url_google' => array('type'=>'string', 'null' => true,
'length' => 500),
'telefono' => array('type'=>'string', 'null' => true,
'length' => 15),
'created' => array('type'=>'datetime', 'null' => true,
'default' => NULL),
'modified' => array('type'=>'datetime', 'null' => true,
'default' => NULL),
'indexes' => array('PRIMARY' => array('column' => 'id',
'unique' => 1)),
'cancha_count' => array('type'=>'integer', 'null' =>
false, 'default' => 0 )

y la creación de formulario dentro del view edit es

<?php echo $form->create('Centrosdeportivo');?>
<?php
echo $form->input('id');
echo $form->input('nombre');
echo $form->input('direccion');
echo $form->input('url_google');
echo $form->input('telefono');
?>
<?php echo $form->end('Save');?>

Si por ejemplo guardo algún caracter como "º" o cualquier vocal con
tilde "á" en la BBDD queda bien reflejado, incluso si le hago un echo
con una clausula del tipo

echo $this->data["Centrosdeportivo"]["direccion"] . "<br />";

se dibuja bien pero al hacerlo en el input va mal, no se refleja en el
value de dicho input.

¿os suena cual puede ser la causa y la solución?

Gracias,

Ernesto.

José Lorenzo

unread,
Nov 20, 2008, 2:20:15 PM11/20/08
to cakep...@googlegroups.com
En verdad primera vez que veo este error. Te recomiendo que pruebes la última version del svn, en el branch 1.2.x.x a ver si este problema fue solucionado. Sino, abre un tricket en trac.cakephp.org reportando el problema

2008/11/21 Ernesto <contactac...@gmail.com>

Ernesto

unread,
Nov 20, 2008, 4:18:42 PM11/20/08
to CakePHP en Español
sobre el svn... ¿una forma sencilla de descargarme la última versión
de cakePHP a través del svn?
Trabajo con windows, ¿se puede hacer desde la línea de comandos?

Gracias,

Ernesto.

On 20 nov, 20:20, "José Lorenzo" <jose....@gmail.com> wrote:
> En verdad primera vez que veo este error. Te recomiendo que pruebes la
> última version del svn, en el branch 1.2.x.x a ver si este problema fue
> solucionado. Sino, abre un tricket en trac.cakephp.org reportando el
> problema
>
> 2008/11/21 Ernesto <contactaconerne...@gmail.com>
> > Ernesto.- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

José Lorenzo

unread,
Nov 20, 2008, 5:07:10 PM11/20/08
to cakep...@googlegroups.com
bajate tortoiseSVN

2008/11/21 Ernesto <contactac...@gmail.com>

Luis Uribe

unread,
Nov 23, 2008, 9:30:45 PM11/23/08
to cakep...@googlegroups.com
Hola,

On Thu, Nov 20, 2008 at 03:18:46AM -0800, Ernesto wrote:
> Hola,


> pero ahora me encuentro que cuando dibujo inputs con
> $form->input
> no me dibuja dichos acentos, es mas, no pone nada en el input, el
> value queda vacio.
> Pero si pruebo a hacer un echo de ese mismo campo se muestra
> correctamente x pantalla.

Prueba a incluir esta linea en el app/webroot/index.php

header('Content-Type: text/html; charset=iso-8859-1"');

Hace poco tuvimos el mismo problema y con esto quedó solucionado, pero
todavía no termino de comprender porque no funciona si lo defino en el
layout.

--
Luis
www.sisfo.com

signature.asc

Ernesto

unread,
Nov 27, 2008, 1:56:15 PM11/27/08
to CakePHP en Español
Hola Luis

muchas gracias por la ayuda pero no me ha funcionado. Lo he puesto al
inicio y al final del webroot/index.php
pero na'de'na.

Lo cierto es que ahora estoy muy liado en otro frente, a ver si la
proxima semana me peleo con esto y descubro algo.
Empezaré por lo que me comentaba José Lorenzo con el svn.

Saludos,

Ernesto.
>  signature.asc
> < 1 KBVerDescargar

Nachopitt

unread,
Nov 27, 2008, 2:39:04 PM11/27/08
to cakep...@googlegroups.com
Trata dejando todo como estaba y define en el core.php:
Configure::write('App.encoding', 'iso-8859-1');

Asegurate de tener todos tus archivos .php, .ctp, .thtml codificados como iso-8859-1, no UTF-8.

2008/11/27 Ernesto <contactac...@gmail.com>



--
Ignacio Alberto Zamora Esqueda
Ingeniero de Software
Corporación Tectronic, S.A. De C.V.
Tels: (33) 3615-44-11 y 36-15-45-11
Fax: (33) 3615-46-11
sist...@tectronic.com.mx
www.tectronic.com.mx

Miki

unread,
Nov 28, 2008, 6:46:49 AM11/28/08
to CakePHP en Español
Hola, yo me he encontrado problemas similares por ejemplo en un botón
con tilde y creo que en algún sitio más.

El problema no es por el charset de la página. Es porque se hacen
escapes por defecto en sitios donde antes no se hacían.

La solución es buscar cómo pasar un escape false en el caso que te de
problemas. Por ejemplo para el caso del botón que comentaba antes:

<?php echo $form->submit('A&ntilde;adir', array('escape' => false)); ?
>

Sin el escape a false ocurre lo que tú dices. No aparece ningún texto.

Espero que te pueda ayudar:

Miki

jordicakephp

unread,
Nov 28, 2008, 7:12:34 AM11/28/08
to CakePHP en Español
Hola Ernesto,

Creo que tengo una hipotética causa a este problema, pero no sé si es
muy disparatada. A mí me pasaba lo mismo que a tí y se arregló así:

1. En el core.php escribes esto:

Configure::write('App.encoding', 'iso-8859-1');

2. Y en el layout que usa la vista que tiene el formulario que te da
problemas, esto:

<?php echo $html->charset("iso-8859-1"); ?>

Espero que te sirva de ayuda. Si lo pruebas y te soluciona el
problema, podemos tratar de explicar a qué se debe. Un saludo! Jordi

Ernesto

unread,
Dec 2, 2008, 9:02:48 AM12/2/08
to CakePHP en Español
Muchas gracias,

porque finalmente habeis dado con la solución.

Añadiendo

Configure::write('App.encoding', 'iso-8859-1');

en el config/core.php

se visualiza correctamente.

Saludos,

Ernesto.
Reply all
Reply to author
Forward
0 new messages