Foros del Web » Programando para Internet » PHP »

Problemas con Charset

Estas en el tema de Problemas con Charset en el foro de PHP en Foros del Web. Resuelto. Buen día gente!, Hace algo de tiempo que vengo renegando con el tema de los caracteres. En un principio usaba la configuración UTF-8, por ...
  #1 (permalink)  
Antiguo 30/11/2009, 10:18
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
[Resuelto] Problemas con Charset

Resuelto.

Buen día gente!,

Hace algo de tiempo que vengo renegando con el tema de los caracteres.

En un principio usaba la configuración UTF-8, por defecto en la aplicación que uso para escribir. Pero, esto comenzó a traerme complicaciones con 'ñ', acentos, etc. Así que busqué un poco, y me encontré con ISO_8859-1, marchó bien para leer el código que está en el doscumento, pero no con los datos que importo desde la DB.

Acá empiezan las cosas raras, cuando hago una consulta y armo un tabla en el mismo doscumento, solo con PHP, los caracteres especiales se ven como símbolos raros, pero cuando actualizo esa tabla, con AJAX, que realiza una consulta con PHP, algunos datos se ven bien.

Ahora me enteré que hay una actualización para ISO_8859-1, que es la ISO_8859-15, la implementé, la he metido en todos los lugares de mi código, pero sigue el mismo fenómeno, me muetra bien los datos de a rato.

Me fijé en los registros agregados en la DB, y estos se ven bien, con los caracteres apropiados, en el momento de leerlos es el problema.

La DB, está en utf8_unicode_ci, así estuvo siempre, nunca lo cambié. Vi que tengo para escoger en la opciones de la DB, entre latin1, latin2, latin5, y latin7, pero no se encuentra latin9 o latin0, que es como llaman a ISO_8859-15 y ISO_8859-1.

No se muchachos, que solución me recomiendan?, mi idea es que mis aplicaciones funcionen en la mayor cantidad de plataformas posibles, sin importar cuestiones como esta (el idioma).

Quedo a la espera de sus consejos!. Desde ya, muchísimas gracias!.

Última edición por elkevin; 04/12/2009 a las 13:55
  #2 (permalink)  
Antiguo 30/11/2009, 11:00
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problemas con Charset

no probaste con utf8_encode() o utf8_decode()??? Las podrias aplicar al traer tus datos desde la base
  #3 (permalink)  
Antiguo 30/11/2009, 11:09
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Problemas con Charset

Cita:
Iniciado por jackson666 Ver Mensaje
no probaste con utf8_encode() o utf8_decode()??? Las podrias aplicar al traer tus datos desde la base
Hmmm, no. Pero tendría que codificar cada cadena que guardo en la DB, y decodificar cada cadena que extraigo de la DB, cierto?.

Se me armaría un bochinche bárbaro, no habrá otra opción?.

Muchas gracias por ayudarme colega!.
  #4 (permalink)  
Antiguo 30/11/2009, 11:15
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problemas con Charset

no, solo deberias hacer utf8_decode() cuando traes los datos... No se, otra no se me ocurre ahora...
No buscaste en San Google a ver que te dice?
  #5 (permalink)  
Antiguo 30/11/2009, 11:25
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Problemas con Charset

Cita:
Iniciado por jackson666 Ver Mensaje
no, solo deberias hacer utf8_decode() cuando traes los datos... No se, otra no se me ocurre ahora...
No buscaste en San Google a ver que te dice?
Estoy en eso! :) ... Es muy raro, por que cuando me muestra los datos la primer vez, lo hace bien, ahora estoy usando la ISO_8859-15. Tengo un HTML con un DIV en el que cargo las consultas realizas con AJAX y PHP. Cuando el sitios carga pro primer vez, solo usa PHP para mostrar los datos, pero cuando realizo inserciones, eliminaciones, o modificaciones, las que trabajan con AJAX, los datos que vuelven, se ven mal. Sin embargo, al actualizar, se muestran bien.

Es como que esos datos que AJAX actualiza en el DIV, no toman la codificación ISO_8859-15. Probé meter el meta en otros lugares, como para forzar la lectura de este, pero nada.

¿?!...

Muchas gracias de nuevo colega!.
  #6 (permalink)  
Antiguo 30/11/2009, 12:09
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problemas con Charset

Como pasas los datos de ajax a php en el open? con get o post??
  #7 (permalink)  
Antiguo 30/11/2009, 14:57
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Problemas con Charset

Cita:
Iniciado por jackson666 Ver Mensaje
Como pasas los datos de ajax a php en el open? con get o post??
Mil disculpas por la demora!.

Utilizo AJAX, como te comenté antes, al momento de Editar, Eliminar, o Modificar un registro.

Muestro una tabla en un DIV, poniendo al lado de cada registro, las opciones pertinentes. Estas, con onClick, llaman a la función AJAX, y la función AJAX, con método GET, ejecuta un PHP que realiza los cambios sobre la DB, y al finalizar actualiza el DIV.

Acá, es cuando los datos se ven mal, es como que esa nueva llamada de la tabla, no toma los valores del charset.

Sigo buscando a ver que aparece!.
  #8 (permalink)  
Antiguo 04/12/2009, 12:51
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Problemas con Charset

Cita:
Iniciado por jackson666 Ver Mensaje
...deberias hacer utf8_decode() cuando traes los datos...
De nuevo yo compañero!,

Estuve leyendo un poco, y definitivamente, la mejor manera, en teoría, es almacenar los datos en UTF8, es lo único que encontré que pueda brindarme la posibilidad de ejecutar mis apps en cualquier plataforma.

Ahora, me encuentro con este drama, que puedo hacer en estas 2 situaciones:

1) Escribo el resto de mi sitio en Latino, que es la configuración que tiene mi equipo, teclado, etc. Habrá algún modo que automáticamente me realice la conversión en el navegador?, no creo que esto sea posible. Por el momento, abro PHP y le pongo decode a las palabras con símbolos, pero esto es una locura!.

2) Ya se torna imposible manejar mi DB desde PHPMyAdmin, todos los registros con caracteres codificados, no entran en mis busquedas. No tengo mas opcion que realizar mi propio manipulador de DB para solucionar esto?.

Muchas gracias de nuevo cumpa!, pensé que mas gente se iba a prender :(

Un fuerte abrazo!, gracias de nuevo!.
  #9 (permalink)  
Antiguo 04/12/2009, 13:48
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problemas con Charset

Bueno, sino lo que podrias hacer es un buscar y reemplazar por ejemplo los á y los reemplazas por á se entiende? Igual no veo tan dificill lo del utf8_decode() O es que no te funciona??
  #10 (permalink)  
Antiguo 04/12/2009, 13:53
 
Fecha de Ingreso: abril-2006
Mensajes: 95
Antigüedad: 18 años
Puntos: 0
Respuesta: Problemas con Charset

Cita:
Iniciado por jackson666 Ver Mensaje
Bueno, sino lo que podrias hacer es un buscar y reemplazar por ejemplo los á y los reemplazas por á se entiende? Igual no veo tan dificill lo del utf8_decode() O es que no te funciona??
Nono!, funciona perfecto!, yo modifiqué mi DB completa para que trabaja con UTF8, al igual que todos los archivos, va de maravillas!.

Solo que cuando hay símbolos que son codificados, en las tablas ya no se los puede leer, y no podría realizar una búsqueda "a pata" por así decirlo.

Pero listo!, me voy a manejar así!, los símbolos que no sean interpretados, los laburo con su código en HTML!.

Muchísimas gracias caballero!.
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 19:21.