error Form::dbSelect

121 views
Skip to first unread message

hernán guzman

unread,
Apr 22, 2012, 11:20:37 AM4/22/12
to kum...@googlegroups.com
hola buen día estoy haciendo un sistema en kumbiaphp beta 2 ya e realizado varias con el pero noto un error o mejor dicho un mal funcionamiento con el Form::dbSelect el lista bien pero cuando tiene un carácter especial(ñ, á) sale en blanco no se si es error mio. quisiera saber si alguien lo soluciono o le pasa lo mismo

 de ante mano muchas gracias


--
>>> T.S.U Hernan j. Guzman  <<<

Manuel Aguirre

unread,
Apr 22, 2012, 12:25:32 PM4/22/12
to kum...@googlegroups.com
Buenas, primero voy a asumir que trabajas con mysql, ya que allí es
que mayormente sen ven rollos con los caracteres, te recomiendo hacer
lo siguiente:

Descarga la nueva version del core si tienes tiempo sin actualizar.
https://github.com/KumbiaPHP/KumbiaPHP

En la configuración de conexión a la bd de tu archivo databases.ini
agrega la siguiente linea: charset = utf8, ejemplo:
https://github.com/KumbiaPHP/KumbiaPHP/blob/master/default/app/config/databases.ini

ahora el problema tal ves sea el siguiente, la configuracion de mysql
esta para trabajar con una condificaciòn distinta de utf8 mientras tu
app esta trabajando en utf8.

Puedes verificarlo lanzando el siguente SQL en tu server mysql: show
variables like '%character%' . si todas las variables que te muestran
no estan en utf8, el problema esta en el server de mysql, puedes
tambien buscar en internet como cambiar la codificacion directamente
en mysql, si no te es posible esto, con hacer lo dicho anteriormente
en el databases.ini estoy seguro de que tu problema se resolverá.

Suerte...!!!

El 23/04/12, hernán guzman <guzman....@gmail.com> escribió:

> --
> Viva KumbiaPHP Framework!
> http://www.kumbiaphp.com/
> Ha recibido este mensaje porque está suscrito a Grupo "KumbiaPHP Framework"
> de Grupos de Google.
> Para obtener más opciones, visita este grupo en
> http://groups.google.com/group/kumbia?hl=es.

hernán guzman

unread,
Apr 22, 2012, 12:39:59 PM4/22/12
to kum...@googlegroups.com
muchas gracias amigo me sirvió de mucho ya resolví el error al actualizar y colocar lo que me dijiste

Manuel Aguirre

unread,
Apr 22, 2012, 12:45:04 PM4/22/12
to kum...@googlegroups.com
Aclarando un poco mas el porque de la desaparición de los caracteres especiales.

debido a que el mysql esta usando una codificacion distinta a la de
php, cuando se hace una consulta desde PHP, los caracteres especiales
vienen mal, es decir, vienen en una codificación distinta de la
esperada por php, mas sin embargo si imprimimos el resultado de esa
consulta si veremos los caracteres especiales, claro está que se veran
como caracteres extraños, y no como los esperados por nosotros.

Ahora si cuando vamos a mostrar los datos de la consulta primero les
hacemos un htmlespcialchars, ó un htmlentities, los caracteres que
estas funciones no reconoscan, las devolverá como vacias.

http://www.php.net/manual/es/function.htmlentities.php
http://www.php.net/manual/es/function.htmlspecialchars.php

Ahora Form::dbSelect hace un htmlespecialchars de las opciones a
mostrar (esto por seguridad).
https://github.com/KumbiaPHP/KumbiaPHP/blob/master/core/extensions/helpers/form.php

y es por ello que no te están apareciendo los caracteres especiales en
el select que estas generando.

Para php 5.3 en adelante se añadió la constante ENT_IGNORE que le dice
a las funciones htmlentities ò htmlespecialchars que si no reconoce un
caracter, que lo ignore, y no que devuelva un reemplazo vacio. no se
añade al core para mantener compatabilidad con versiones anteriores de
php.

Suerte...!!!

El 23/04/12, Manuel Aguirre <programad...@gmail.com> escribió:

Manuel Aguirre

unread,
Apr 22, 2012, 12:45:49 PM4/22/12
to kum...@googlegroups.com
De nada hermano, suerte con tu proyecto :-)

Noemi Barahona

unread,
Jun 5, 2013, 2:57:00 PM6/5/13
to kum...@googlegroups.com
Yo tenia el mismo problema, Gracias por ayudarme a resolver este problemilla  :D
Reply all
Reply to author
Forward
0 new messages