Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

No me lo puedo creer

Estas en el tema de No me lo puedo creer en el foro de Mysql en Foros del Web. ¿No hay ni una sola faq o post que sea realmente estricto y sobretodo esclarecedor sobre el asunto de los cotejamientos y las configuraciones correctas? ...
  #1 (permalink)  
Antiguo 01/04/2009, 20:07
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
No me lo puedo creer

¿No hay ni una sola faq o post que sea realmente estricto y sobretodo esclarecedor sobre el asunto de los cotejamientos y las configuraciones correctas? :S. Ir añadiendo aquí lo que sepáis y la vamos creando.
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
  #2 (permalink)  
Antiguo 01/04/2009, 21:46
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
Respuesta: No me lo puedo creer

Extrayendo partes interesantes de un artículo en francés que alguien del foro cito previamente http://electron-libre.fassnet.net/utf8.php podemos decir que:

Las diferencia más básica entre ISO y UTF, es que el primero ocupa menos espacio al representar una unidad o caracter, por esa misma razón abarca muchos menos caracteres que UTF, el cual ocupa un tamaño mucho mayor para cada unidad. Otra diferencia sustancial es que ambos son estándares de codificación de caracteres, solo que dado que utilizan distintas formas de tratar la información surgen los problemas, pues uno no puede interpretar los caracteres que el otro ha definido como especiales (por ejemplo tildes) de la manera correcta y viceversa.

La versiones de php iniciales tenían un core que funcionaba completamente bajo ISO, luego empezaron a soportar UTF y por lo visto en php6 pasará a ser completamente Unicode.

Problemas típicos:
- Cuando aparecen caracteres del tipo "Ã ©", "Ã ®" "Ã", significa que los datos fueron guardados en UTF-8 pero el navegador intenta interpretarlos como ISO.

- Cuando aparecen caracteres tipo rombo negro con símbolo de interrogación dentro significa que los datos fueron guardados en ISO y UTF-8 no consigue interpretarlos de forma correcta.

Por lo tanto:
Si los datos fueron codificados por la página comprueba el formato de archivo de tu editor de texto (o programa que uses para escribir el código), la configuración del cabecero de apache y el meta tag "charset".

Si los problemas vienen de la base de datos verifica el formato de almacenamiento y los metodos de lectura e inserción (y SET NAMES charset).

Si los datos vienen de fuera (web services, RSS, ...) recuerda convertir las cadenas o strings (utf8_encode(), utf8_decode() y fuciones del modulo "iconv").

*Esto último quiere decir que quienes utilizan utf8_encode() y utf8_decode() para intentar solucionar los problemas antes mencionados con los caracteres (salvo en el último caso, obviamente) han estado yendo por el camino equivocado, ya que en realidad estas funciones sirven para transformar datos ISO en UTF, por lo que no es la manera más adecuada de solucionar los problemas, sería como poner parches a un pantalón en vez de coserlo.
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."

Última edición por Dude--; 01/04/2009 a las 21:54
  #3 (permalink)  
Antiguo 02/04/2009, 08:28
Avatar de jovix777  
Fecha de Ingreso: abril-2008
Ubicación: Córdoba - Argentina
Mensajes: 151
Antigüedad: 16 años
Puntos: 2
Respuesta: No me lo puedo creer

¿Y como se aplica a mysql?
  #4 (permalink)  
Antiguo 02/04/2009, 13:53
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
Respuesta: No me lo puedo creer

Cita:
Iniciado por jovix777 Ver Mensaje
¿Y como se aplica a mysql?
Eso me gustaría saber a mi, pero hasta que alguien no se moleste en postearlo para complementar esta información...

Por lo que yo he podido averiguar, lo ideal sería tender a una codificación unicode, para así poder representar siempre cualquier caracter de cualquier idioma, el penalizador de esto es que la BD ocupará más espacio, pero como hoy en día el espacio no suele ser un problema (por los precios de los hds y los servicios de host) nos hayamos entonces en la tesitura de escoger entre los distintos tipos de UTF disponibles en mysql y es aquí donde ya no tengo más información para guiarme, ni guiarles... y si bastantes preguntas, como por ejemplo: En el caso de que queramos optar por la opción menos restrictiva en cuanto a libertad de caracteres ¿Qué diferencia hay entre UTF_unicode_ci, UTF_bin y UTF_general_ci? Yo la única referencia que encuentro es la de phpmyadmin que indica:

UTF_bin: Unicode (multilingüe), Binario
UTF_unicode_ci: Unicode (multilingüe), independiente de mayúsculas y minúsculas
UTF_general_ci: Unicode (multilingüe), independiente de mayúsculas y minúsculas

Y no es para nada exclarecedora esa pequeña descripción...
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."

Última edición por Dude--; 02/04/2009 a las 14:03
  #5 (permalink)  
Antiguo 02/04/2009, 14:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: No me lo puedo creer

Dude--
eso es cotejo, y te recomiendo que eches un vistazo al enlace que hace no mucho nos proporcionó David El Grande.
http://www.stan.com.mx/topics/view/12
  #6 (permalink)  
Antiguo 03/04/2009, 19:23
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 19 años, 10 meses
Puntos: 4
Respuesta: No me lo puedo creer

Cita:
Iniciado por jurena Ver Mensaje
Dude--
eso es cotejo, y te recomiendo que eches un vistazo al enlace que hace no mucho nos proporcionó David El Grande.
http://www.stan.com.mx/topics/view/12
Muy útil el aporte, lo ideal es ir ampliando aquí la info para que puedan meter este hilo en FAQ's.
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
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 03:47.