problem_with:sort
Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
problem_with:sort [2015/11/26 16:11] – creado barrachi | problem_with:sort [2024/10/27 11:37] (actual) – [PostgreSQL y ordenación alfabética errónea con espacios y ñ] barrachi | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
===== PostgreSQL y ordenación alfabética errónea con espacios y ñ ===== | ===== PostgreSQL y ordenación alfabética errónea con espacios y ñ ===== | ||
- | Al ordenar una tabla de PostgreSQL por apellidos, utilizando la colación «es_ES.UTF-8», | + | Al ordenar una tabla de PostgreSQL por apellidos, utilizando la colación «es_ES.UTF-8», |
- | Al parecer, esto no es en realidad un problema de PostgreSQL, ya que éste utiliza el orden de colación del sistema operativo en el que se ejecuta [1]. Así pues, el problema, o el supuesto problema, si es que esa es la ordenación correcta, está provocado por la definición de colación utilizada por glibc en su variante «es_ES». Puesto que el fallo en la ordenación es debido al orden de colación del sistema, el mismo error se puede reproducir utilizando el comando '' | + | Al parecer, esto no es en realidad un problema de PostgreSQL, ya que éste utiliza el orden de colación del sistema operativo en el que se ejecuta~[1]. Así pues, el problema, o el supuesto problema, si es que esa es la ordenación correcta, está provocado por la definición de colación utilizada por glibc en su variante «es_ES». Puesto que el fallo en la ordenación es debido al orden de colación del sistema, el mismo error se puede reproducir utilizando el comando '' |
Así pues, dado un fichero '' | Así pues, dado un fichero '' | ||
Línea 20: | Línea 20: | ||
</ | </ | ||
- | Si se ejecuta el comando '' | + | Si se ejecuta el comando '' |
< | < | ||
Línea 29: | Línea 29: | ||
ab b # 05 | ab b # 05 | ||
na a # 06 | na a # 06 | ||
- | ña a # 08 | ||
nb a # 07 | nb a # 07 | ||
- | ñb a # 09 | ||
oa a # 10 | oa a # 10 | ||
+ | ña a # 08 | ||
+ | ñb a # 09 | ||
</ | </ | ||
==== Posible solución ==== | ==== Posible solución ==== | ||
- | Una posible solución es modificar la definición de la colación para la localización «es_ES». Al hilo de lo comentado en [2], las modificaciones que habría que hacer son las siguientes. | + | Una posible solución es modificar la definición de la colación para la localización «es_ES». Al hilo de lo comentado en~[2], las modificaciones que habría que hacer son las siguientes. |
En primer lugar, para hacer que el espacio se tenga en cuenta cuando se están ordenando entradas, se deben añadir las siguientes líneas en el fichero ''/ | En primer lugar, para hacer que el espacio se tenga en cuenta cuando se están ordenando entradas, se deben añadir las siguientes líneas en el fichero ''/ | ||
Línea 47: | Línea 47: | ||
</ | </ | ||
- | En segundo lugar, si se observa dicho fichero se puede ver como el orden de colación se importa del fichero '' | + | En segundo lugar, si se observa dicho fichero se puede ver como el orden de colación se importa del fichero '' |
+ | Por un lado, comentar las siguientes líneas: | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | Por otro, añadir las siguientes líneas, un poco debajo de las anteriormente comentadas, justo antes de las líneas que hacen referencia a la letra «o» y a la «O», respectivamente: | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Una vez hecho lo anterior, se deben volver a generar las definiciones de las locales utilizando el comando '' | ||
+ | |||
+ | < | ||
+ | locale-gen | ||
+ | systemctl stop apache2 | ||
+ | systemctl restart postgresql | ||
+ | systemctl start apache2 | ||
+ | </ | ||
==== Referencias ==== | ==== Referencias ==== | ||
- | [1] https:// | + | |
+ | [1] https:// | ||
+ | [2] https:// |
problem_with/sort.1448554300.txt.gz · Última modificación: 2015/11/26 16:11 por barrachi