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

Que Character y Collation elegir para Mysql 5.5

Estas en el tema de Que Character y Collation elegir para Mysql 5.5 en el foro de Mysql en Foros del Web. Hola a todos, les queria hacer la consulta de que Character y Collation elegir para Mysql especificamente la 5.5 en mi caso. estaba en default, ...
  #1 (permalink)  
Antiguo 18/11/2014, 14:36
 
Fecha de Ingreso: noviembre-2014
Mensajes: 29
Antigüedad: 9 años, 5 meses
Puntos: 0
Información Que Character y Collation elegir para Mysql 5.5

Hola a todos, les queria hacer la consulta de que Character y Collation elegir para Mysql especificamente la 5.5 en mi caso.
estaba en default, pero he tenido problemas con SMF mcuhas veces hace tiempo y otros sistemas de foros, por lo general recomiendan poner utf-8
Character set for new database utf8 (UTF-8 Unicode)
Collation order for new database utf8_unicode_ci (UTF-8 Unicode)

Cual es recomendable tener como por defecto?

Gracias.
  #2 (permalink)  
Antiguo 19/11/2014, 06:32
Avatar de JoshMex
Moderador Webhosting
 
Fecha de Ingreso: enero-2006
Mensajes: 4.057
Antigüedad: 18 años, 3 meses
Puntos: 166
Respuesta: Que Character y Collation elegir para Mysql 5.5

Muevo tu tema al foro adecuado.
__________________
JoshMex
Desarrollador Plataforma Microsoft / Windows / ASP / ASP.NET / SQL Server
Es inútil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos
  #3 (permalink)  
Antiguo 19/11/2014, 06:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Que Character y Collation elegir para Mysql 5.5

Cita:
Iniciado por al_newuser Ver Mensaje
Hola a todos, les queria hacer la consulta de que Character y Collation elegir para Mysql especificamente la 5.5 en mi caso.
estaba en default, pero he tenido problemas con SMF mcuhas veces hace tiempo y otros sistemas de foros, por lo general recomiendan poner utf-8
Character set for new database utf8 (UTF-8 Unicode)
Collation order for new database utf8_unicode_ci (UTF-8 Unicode)

Cual es recomendable tener como por defecto?

Gracias.
Ambas al mismo tiempo...

No confundas las ideas: CHARSET controla el set de caracteres o representacion de los simbolos a nivel código. La COLLATION lo que controla es el conjunto de reglas de comparacion y ordenamiento en un set de caracteres.
Un CHARSET puede tener N COLLATIONs, pero cada COLLATION sólo pertenece a un único CHARSET.

http://dev.mysql.com/doc/refman/5.0/...collation.html
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 19/11/2014, 08:15
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Que Character y Collation elegir para Mysql 5.5

Respecto al cotejamiento o collation, todo dependerá de lo que suelas hacer o tengas intención de hacer con tus campos a la hora de ordenar y comparar datos (yo recomiendo la lectura de http://en.wikipedia.org/wiki/Collation) para entender cabalmente lo que hace la collation. Lo que tienes ahora ordena en utf8 alfabéticamente, pero case insensitive, es decir, sin tener en cuenta mayúsculas, minúsculas, y lo mismo vale para comparar datos en las búsquedas. Si estableces una collation o cotejamiento para la base, que se extiende para todas las columnas que tengan ese charset utf-8, luego se aplica en las consultas. Ojo, porque la collation influye a la hora de establecer las relaciones entre PK y FK (mismo tipo, mismo charset y collation; al fin y al cabo se trata de una comparación). Naturalmente, puedes cambiar la collation de una columna, pero eso entraña riesgos si la columna forma parte de una relación. También puedes cambiar la collation e incluso el charset al vuelo durante una consulta. Echa un vistazo a COLLATE y CONVERT() de MySQL
http://dev.mysql.com/doc/refman/4.1/...t-convert.html
http://dev.mysql.com/doc/refman/5.0/...t-collate.html

Pero, a mi juicio, lo más importante es entender bien qué es eso de la collation o cotejamiento y cómo puede influir en el orden y comparación de la lengua o lenguas que uses en tu base de datos...

Un par de cosas más: un ejemplo sencillito si vas a esar el español como lengua con recomendaciones sobre qué usar:
http://blog.unreal4u.com/2012/08/sob...rset-en-mysql/

Vigila el funcionamiento de las funciones no solo de la base de datos con cadenas multibyte que es lo que tienes cuando usas utf-8.

Última edición por jurena; 19/11/2014 a las 08:29
  #5 (permalink)  
Antiguo 29/11/2014, 21:20
 
Fecha de Ingreso: noviembre-2014
Mensajes: 29
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Que Character y Collation elegir para Mysql 5.5

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Ambas al mismo tiempo...

No confundas las ideas: CHARSET controla el set de caracteres o representacion de los simbolos a nivel código. La COLLATION lo que controla es el conjunto de reglas de comparacion y ordenamiento en un set de caracteres.
Un CHARSET puede tener N COLLATIONs, pero cada COLLATION sólo pertenece a un único CHARSET.

[url]http://dev.mysql.com/doc/refman/5.0/en/adding-collation.html[/url]
Me muestra 2 opciones, como se muestra en el primer post es como lo puse yo, porque recuerdo que en SMF, recomendaban eso para su foro en español:
Collation order for new database utf8_unicode_ci (UTF-8 Unicode)
Pero adicionalmente en la configuracion de server tambien sale Character set for new database utf8 (UTF-8 Unicode) y yo tambien lo puse en ese utf8.

Porque aparecia otra opcion recuerdo, y cuando lo pasaba a utf8, salian codigos raros en los temas y mensajes y otros lados, entonces me dijeron que desde el comienzo del foro se ponga a utf8 para que este mejor, ya que si lo hago cuando el foro tenga contenido, entonces este se distorcionara.
  #6 (permalink)  
Antiguo 29/11/2014, 21:25
 
Fecha de Ingreso: noviembre-2014
Mensajes: 29
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Que Character y Collation elegir para Mysql 5.5

Cita:
Iniciado por jurena Ver Mensaje
Respecto al cotejamiento o collation, todo dependerá de lo que suelas hacer o tengas intención de hacer con tus campos a la hora de ordenar y comparar datos (yo recomiendo la lectura de [url]http://en.wikipedia.org/wiki/Collation[/url]) para entender cabalmente lo que hace la collation. Lo que tienes ahora ordena en utf8 alfabéticamente, pero case insensitive, es decir, sin tener en cuenta mayúsculas, minúsculas, y lo mismo vale para comparar datos en las búsquedas. Si estableces una collation o cotejamiento para la base, que se extiende para todas las columnas que tengan ese charset utf-8, luego se aplica en las consultas. Ojo, porque la collation influye a la hora de establecer las relaciones entre PK y FK (mismo tipo, mismo charset y collation; al fin y al cabo se trata de una comparación). Naturalmente, puedes cambiar la collation de una columna, pero eso entraña riesgos si la columna forma parte de una relación. También puedes cambiar la collation e incluso el charset al vuelo durante una consulta. Echa un vistazo a COLLATE y CONVERT() de MySQL
[url]http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html[/url]
[url]http://dev.mysql.com/doc/refman/5.0/en/charset-collate.html[/url]

Pero, a mi juicio, lo más importante es entender bien qué es eso de la collation o cotejamiento y cómo puede influir en el orden y comparación de la lengua o lenguas que uses en tu base de datos...

Un par de cosas más: un ejemplo sencillito si vas a esar el español como lengua con recomendaciones sobre qué usar:
[url]http://blog.unreal4u.com/2012/08/sobre-collation-y-charset-en-mysql/[/url]

Vigila el funcionamiento de las funciones no solo de la base de datos con cadenas multibyte que es lo que tienes cuando usas utf-8.
Gracias por la info, la estoy revisando, y no logro comprenderlo bien, ya que no estoy familiarizado con la base de datos mas que solo para restaurarla, por lo general softacoulos hacia todo.

Tambien revise en otros foros, sobre este asunto, lo que me recomendaron anteriormente era que lo pusiera siempre en utf8, pero utf8 no es una unica opcion, salen bastantes utf8 a escoger.
En mi caso yo no programare ni modificare directamente la base de datos, siempre sera con algun script/web como foros en smf, mybb, blogs y esas cosas. Por lo general mi contenido sera en español y un minimo en ingles.
  #7 (permalink)  
Antiguo 30/11/2014, 04:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Que Character y Collation elegir para Mysql 5.5

Debes responder a esto:
1) ¿qué lenguas vas a usar en tu base de datos, si solo español o lenguas occidentales, o alguna otra?
2) ¿qué tipo de comparaciones harás por lo general en tus filtros con los datos de tus campos y qué ordenación llevarás a cabo normalmente en las listas? Por ej., si solo ordenarás en orden alfabético el español o lenguas occidentales y las búsquedas las harás sin preocuparte por las tildes ni las mayúsculas, podrías usar utf8_general_ci. Aunque para alguna lengua como el alemán quizás sea preferible utf8_unicode_ci.
Pero imagínate que en tu base cargas palabras en sueco, ruso o en alguna lengua asiática y que quieres buscar y ordenar atendiendo a todo menos a las mayúsculas, entonces deberías usar utf8_unicode_ci como collation. Y si quieres que la comparación sea exacta, entonces deberías usar utf8_bin como collation, pero esto te alterará el orden alfabético de manera inesperada (por ej. mayúsculas y minúsculas)
Para el español únicamente, utf8_general_ci es un buen comienzo, aunque si es solo español moderno podrías usar utf8_spanish_ci. No obstante, yo siempre recomiendo utf8_unicode_ci, porque al final lo que pierdes es solo un poco de tiempo, es decir, es un poco, muy poco, más lento todo. Luego, según necesidad, podrás decidir si cambias el cotejamiento de la base, solo el de un campo, o haces el cambio al vuelo en la consulta para casos concretos.

Última edición por jurena; 05/12/2014 a las 01:04
  #8 (permalink)  
Antiguo 20/12/2014, 02:17
 
Fecha de Ingreso: noviembre-2014
Mensajes: 29
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Que Character y Collation elegir para Mysql 5.5

La verdad es que el español es el idioma principal, sobre el idioma ingles sera poco (pero supongo que por defecto siempre se usa o se debe asumir que se usará).
Quizas en algun momento alguien use otro idioma (quizas no pase o llegue a ser el 0.01% del contenido)

Las consultas que haria en la bd seria buscar algun usuario y vaciar ciertas tablas y/o columnas, y para hacer eso creo que pondria la web offline hasta que se termine lo que se va hacer en la bd.

Por tu recomendacion usare:
Default database character set: utf8 (UTF-8 Unicode)
Default database collation order: utf8_unicode_ci (UTF-8 Unicode)

Etiquetas: elegir, web-hosting
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 23:08.