Error en orden alfabético n - ñ

Error en orden alfabético n - ñ

de Enrique Robredo -
Número de respuestas: 6
Creo haber detectado un error en el orden por apellidos de los listados de los alumnos en la versión 1.9.x por ejemplo, "Cañizares" queda delante de "Cano" no sé si esto ocurre en otras plataformas y debo pasarlo al Tracker o se puede resolver de algún modo. Gracias.
Promedio de valoraciones:Útil (1)
En respuesta a Enrique Robredo

Re: Error en orden alfabético n - ñ

de Nacho Aguilar -

Saludos,

A nosotros nos pasa igual, usamos igualmente 1.9.11. Por lo que hemos podido averiguar es algo propio de Moodle, si por ejemplo hacemos la búsqueda de usuarios como cano o como caño el sistema no distingue entre n y ñ, es como si solo existiera la n por eso Cañizares aparece antes que Cano pues lo trata como Canizares. Está en codificación UTF-8 y hemos revisado los Locale de Debian y de Moodle dándolos por correcto. Si cambiamos la codificación 'a&ntildeio' sería año con lo que no hemos resuelto el problema

Está claro que es un problema que afecta solo al castellano. Si alguien tiene alguna solución sería interesante implementarla y si no habrá que recurrir al tracker.

En respuesta a Enrique Robredo

Re: Error en orden alfabético n - ñ

de Xavier Paz -

No sé hasta que punto se puede considerar un bug, pues la ñ es un caracter especial que suele necesitar de codificación, no una letra, por tanto es factible que a nivel interno no sea factible ordenar por caracteres especiales. Yo en el Tracker no he encontrado nada al respecto, pero no creo que haya problema en notificarlo a través de dicha herramienta.

En respuesta a Enrique Robredo

Re: Error en orden alfabético n - ñ

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda

Enrique,

seguramente estás usando MySQL con codificación utf8 y colación utf8_general_ci o utf8_unicode_ci.

En este caso, la 'ñ' se considera equivalente a la 'n' a efectos de ordenación. Si quieres que se distinga, tendrías que usar utf8_spanish_ci outf8_spanish_ci2 (más detalles sobre la diferencia entre ambos al final de la página http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html)

Saludos. Iñaki.

En respuesta a Iñaki Arenaza

Re: Error en orden alfabético n - ñ

de Ester Giralt -

Hola Iñaki.

Una consulta. He leido en los manuales de moodle, que es mejor utilizar la codificación de utf8_general_ci, por razones de fiabilidad.

¿Al realizar el cambio a los que propones "spanish", puede tener alguna incidencia en la fiabilidad de la base de datos?.

Gracias.

 

En respuesta a Ester Giralt

Re: Error en orden alfabético n - ñ

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda
Ojo, que no yo propongo hacer ningún cambio sonrisa Yo me limito a explicar porqué ocurre el comportamiento descrito por Enrique.

En cuanto a la fiabilidad, en teoría cambiar la "compaginación" (collation) de general_ci a spanish_ci no debería significar tener ni más ni menos fiabilidad. El cambio sólo afecta a la forma en la que se ordenan los caracteres entre sí. Supuestamente nada mas.

Sin embargo no conozco a nadie que funcione con esa compaginación, y no creo que ningún desarrollador pruebe los cambios con esa compaginación, así que si hay algún bug en MySQL relacionado con ese tipo de cosas no creo que se haya detectado en el caso de Moodle.

Saludos.
Iñaki.
En respuesta a Iñaki Arenaza

Re: Error en orden alfabético n - ñ

de Enrique Robredo -

Saludos a todos. Gracias por responder.

No he realizado el cambio de general_ci a spanish_ci así que no he comprobado si esta solución que aporta Iñaki es válida, que seguramente sí que lo sea. Sin embargo, me llama la atención que, hasta la última actualización, en el listado los alumnos sí que estaban bien ordenados. Detectamos este error ahora. He actualizado a Moodle 1.9.11 (Build: 20110221) hace unos días. A lo mejor hay algo que cambió en esa actualización.

Seguimos en ello.

Salud