sábado, 24 de enero de 2009

Collations y encodes en MySQL

Ahora que empiezas un nuevo proyecto, hazte un favor y usa UTF-8. Por cierto, desde 1994 la Asociación de Academias de la Lengua Española decidió que la CH y la LL no se tienen en cuenta como letras propias al ordenar el diccionario, por lo que la COLLATION adecuada en español es utf8_spanish_ci y NO utf8_spanish2_ci. Curiosamente, el Diccionario de la Real Academia ordenó la CH después de la C desde 1803 hasta 1994... unos poquitos años.

¿No sabes qué es una codificación de caracteres? ¿No sabes qué es una collation?
http://dev.mysql.com/doc/refman/5.0/en/charset.html

Aquí hay una buena lista de todas las collation y sus ordenaciones alfabéticas:
http://www.collation-charts.org/mysql60/by-charset.html

¿Problemas buscando cosas con eñes u ordinales (º, ª)...? Usa COLLATE utf8_bin. Si no lo usas, al buscar "º" te encontrará "º" y "o" y "ó" y "Ò"... Por ejemplo:

SELECT * FROM table
WHERE field COLLATE utf8_bin LIKE '%º%';

No hay comentarios: