Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Problema Al Ordenar Palabras Con Acentos
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problema Al Ordenar Palabras Con Acentos 
 
Cuando ordeno los datos de una tabla que tiene palabras acentuadas el orden no es correcto. Supongo que tiene algo que ver con la codificación de caracteres, pero no consigo arreglarlo
 



 
pacomuz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Ordenar Palabras Con Acentos 
 
Puedes hacer un pequeño truco....
0) La "tabla inicial" es la que contiene los datos iniciales (palabras acentuadas).
1) Copia en otra tabla (la llamaremos "tabla_ordenada" los datos que quieres ordenar
2) Le añades una columna con el "orden_inicial", osea la 1 fila , en la columna "orden_inicial", le pones 1, en la 2 fila en el "orden_inicial" le pones 2, y asi sucesivamente...
3) Sustituye en la "tabla_ordenada", todos los acentos por vocales sin acentuar:
     Simplificando el código, seria así para la "ó"
    
Citar:

    cadena2=Replace$(cadena,"ó","o")
    

4) Le aplicas el algoritmo de ordenación, a la columna que desees (menos a la de "orden_inicial").
5) La columna "orden_inicial", ahora contiene el orden "nuevo"
6) Reescribes la "tabla inicial", siguiendo el orden "nuevo" de la columna "orden_inicial" de la "tabla_ordenada"

Si quieres ver un ejemplo, visita de mi blog:
 http://jsbsan.wordpress.com/2009/05/23/listas-de-ordenacion/

Viene un ejemplo, de la columna "orden_inicial" (yo le llamo en el blog "lista de ordenación")

Espero haberte ayudado.

Saludos

Nota:
Cada vez que añades un nuevo dato, lo modifiques o lo borres, tienes que volver a generar la lista de ordenación, para que tenga en cuenta la nueva "Tabla"
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Jueves, 09 Diciembre 2010, 10:42; editado 2 veces 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Ordenar Palabras Con Acentos 
 
Gracias por la respuesta. Es lo que tenía pensado, pero buscaba una solución con la codificación de caracteres. Los datos los toma la tabla de un array y los ordena con el método burbuja. Lo que haré es quitar los acentos en cada componente del array antes de compararlos para la ordenación. Supongo que es un método más lento, pero evito hacer la otra tabla. De todas formas me queda la duda de qué pasará con la ñ. No se me ocurre con qué sustituirla
 



 
última edición por pacomuz el Jueves, 09 Diciembre 2010, 10:58; editado 2 veces 
pacomuz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Ordenar Palabras Con Acentos 
 
Pacomuz:

Citar:
los ordena con el método burbuja


Si son pocos datos vale, pero si son muchos mírate mejor el quicksort... es muchísimo más rápido (lo he probado los dos métodos, con 500 filas, con el método burbuja la aplicación se quedaba en gris un buen rato, sin embargo con el quicksort tardaba menos de 1 segundo).

Aquí tienes el código del quicksort:

http://jsbsan.wordpress.com/2009/03...ws-y-gridviews/

Saludos.

Nota:
Es impresionante como cambiando el algoritmo de ordenación puede variar tanto la velocidad....
Si eres curioso para ver la diferencia de estos métodos de ordenación de una manera "gráfica" en esta entrada:
http://jsbsan.wordpress.com/2010/08...-de-ordenacion/
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Ordenar Palabras Con Acentos 
 
Todo eso está muy bien, pero el problema es de la codificación de caracteres de tu sistema, me temo. Comprueba que tienes bien instalado el asunto de los idiomas y las páginas de códigos etc...
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Ordenar Palabras Con Acentos 
 
Citar:
Todo eso está muy bien, pero el problema es de la codificación de caracteres de tu sistema, me temo. Comprueba que tienes bien instalado el asunto de los idiomas y las páginas de códigos etc...


Ya supongo que el problema va por ahí. He mirado la configuración de idioma y  de texto del sistema y está en Español - España. No sé si habría que mirar en otro sitio.
 pantallazo_idioma_y_texto
 



 
pacomuz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Ordenar Palabras Con Acentos 
 
Si eso lo tienes bien, el problema te vendrá de que no hay coordinación entre la codificación de caracteres de tu base de datos UTF-8 y las funciones que usas para ordenar y demás, que sólo funcionan con ASCII.
Utiliza la clase estática string para asegurarte que tus cadenas son UTF-8 y todo solucionado, supongo...

Suerte
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Problema De Acentos Y Ñ (SOLUCIONADO) Pablo-GNU General 15 Sabado, 27 Agosto 2011, 14:50 Ver último mensaje
arubioc
No hay nuevos mensajes Nombre De Archivos Con Espacios Y/o Acento... jsbsan General 4 Sabado, 02 Marzo 2013, 10:43 Ver último mensaje
shordi
No hay nuevos mensajes Problemas Con Acentos Y Diéresis jsbsan General 12 Lunes, 12 Junio 2017, 09:06 Ver último mensaje
tincho
No hay nuevos mensajes Quitando Acentos Con RemoveDiacritics tincho Aplicaciones/Fragmentos de Código 2 Lunes, 02 Diciembre 2019, 13:30 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron