Friday, July 06, 2007

charset y collation en mysql

y pues .. ahora tenia una duda con respecto a estos dos terminos q mysql usa siempre, y es que en mysql, los valores por defecto son:

charset : latin1 (conjunto de carateres)
collatIon: latin_swedish_ci (conjunto de reglas)

lo cual significa que el universo de caracteres disponibles para este mysql son los q pertenecen a latin1 y que el conjunto de reglas para su gestion (mas q todo a la hora de comparar cadenas) es latin_swedish_ci.

collation tiene una nomenclatura:

charset_nameCollation_xx

donde:
"charset" puede ser: latin1, utf8, ascii, etc...
"nameCollation" puede ser: german1, swedish, general, spanish, etc...
"xx" puede ser: "ci" si no distingue entre may. y minusculas, "cs" si distingue, "bin" de tipo binario.

y q es el latin1, pos no es mas q el: ISO-8859-1, el q tiene el conjunto de caracteres pertenecientes a la mayoria de paises de europa occidental, donde ovbiamente esta el español.

pero mi curiosidad iba un poco mas alla, dado q trabajando en con esta collation, al transportar los datos, las ñ y los acentos eran cambiados por caracteres extraños...

hice una prueba con una db local, la cual hice un backup, borre y restaure... y todo parecia normal, luego me di cuenta q el detalle era q cuando transportaba los archivos, tenia q hacer demostraciones en una pc con windows, y luego la restaurarlo en una pc con linux, y es alli el problema

parece q al generar un backup con linux y correrlo en una pc con windows, no era del todo compatible.

conclusion: windows sucks !!!!!

jejeje xD

No comments: