| |||
| Zend Form y Zend DB no se llevan bien Mi consulta es un problema que tal vez ya sea común, pero no logro dar con una solución en Zend Framework. Estoy haciendo un manejador de datos para una pequeña tienda. Por lo tanto, debo registrar a los clientes y demás datos asociados. Entonces tengo mi clase Modelo, y en mi Controlador tengo un "crearFormulario()". El problema es que cuando el nombre del cliente tiene caracteres acentuados, los rescata mal de la BD, por ejemplo, si hago algo tan simple como esto: Código PHP: -- El problema gravísimo, es que cuando pego ese valor en un formulario, de esta manera: Código PHP: Código PHP: Código PHP: ¿QUE HAGO? La idea es ojalá, no tener que tocar el servidor, porque si alguna vez quisiera usar la aplicación en un hosting, seguramente no voy a poder modificar el php.ini ni la configuración de la BD. En mi vista uso explícitamente UTF-8 (tanto en la codificación del archivo fuente como en el tag html), en la base de datos también uso utf-8, en TODOS los campos de cadena, incluso las tablas las creé directamente como utf-8. ¿Alguna idea? |
| ||||
| Respuesta: Zend Form y Zend DB no se llevan bien Hola ArrauKano, Que tipo de codificación usas en tu HTML y en tu Base de Datos? Prueba pasarla a UTF8, en la BD puedes hacer:
Código php:
Ver originalCopiar Saludos. |
| |||
| Respuesta: Zend Form y Zend DB no se llevan bien Cita: ese método es de la vista según veo.Peor. cuando hago eso, no imprime nada |
| |||
| Respuesta: Zend Form y Zend DB no se llevan bien Cita: Bueno, hice esto y funciona :D
Iniciado por GatorV Hola ArrauKano, Que tipo de codificación usas en tu HTML y en tu Base de Datos? Prueba pasarla a UTF8, en la BD puedes hacer:
Código php:
Ver originalCopiar Saludos.
Código php:
Ver originalCopiar Salvo por un detalle. ¿Esto es exclusivamente para mysql o es una consulta sql-estándar? No me quiero amarrar a un motor de BD, menos por un detalle como este. |
| ||||
| Respuesta: Zend Form y Zend DB no se llevan bien Hola ArrauKano Como dice gator pásale el encoding Lo puedes hacer al momento inicializar el objeto en tu index.php Código PHP:
__________________ "El conocimiento nos hace responsables." twitter: @benjamingb blog personal: http://codigolinea.com ZF Manual en español http://manual.zfdes.com |
| |||
| Respuesta: Zend Form y Zend DB no se llevan bien Mis tablas, y los campos son todos utf-8. Por eso me extraña que la conexión en sí vuelva en el "latin1" predeterminado. Uso utf8 en todo, en el editor de texto, en la codificación de los archivos fuente, en las tablas de la base de datos, TODO. |
| |||
| Respuesta: Zend Form y Zend DB no se llevan bien Bien, arreglaré mi servidor, pero no me queda otra que añadir el hack, pues como dije, si quisiera ocupar mi aplicación en un hosting, entonces no podría modificar el servidor. Creo entonces que la solución sería hacer "algo" intermedio, que cuando se cree la conexión, verifique si el adapter es *mysql*, en tal caso, ejecute esas sentencias. |
| |||
| Respuesta: Zend Form y Zend DB no se llevan bien Bueno, finalmente puse esto en un plugin:
Código php:
Ver originalCopiar Donde la configuración la saco del mismo config.ini que tenía para configurar el resto de la base de datos. |
| |||
| Respuesta: Zend Form y Zend DB no se llevan bien Exacto, ya que pretendo que el motor de base de datos sea "cualquiera" (soportado), me puse a probar con postgresql también. Descubrí que aún cuando instalé el servidor con la codificación predeterminadad de windows, acá al configurar LA base de datos (la que voy a ocupar, no el motor entero) se le puede decir explícitamente que sea utf8 y la conexión en sí respeta eso, pero también se puede cambiar la codificación en el cliente. Lamentablemente, postgres resultó un poco más lento. Voy a probar con MSSQL y otras tal vez con Firebird. Salu2 |